码迷,mamicode.com
首页 > 编程语言 > 详细

C++进阶--const

时间:2018-12-23 17:57:47      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:rom   变量   为什么   程序   优化   对象   可读性   嵌入式   code   

//#############################################################
// const
//   - 编译时的限制:一个对象不能被修改 
//

int i = 1;

const int *p1 = &i;  // 数据不能被修改,指针可以被修改

int* const p2 = &i;  // 指针不能被修改, 数据可以

const int* const p3;  // 指针和数据都不能被修改


// 容易搞错的一种情况
int const *p4 = &i;   // 数据不能被修改,指针可以被修改

// 总结
// 如果const在*的【左边】, 那么【数据】为const
// 如果const在*的【右边】, 那么【指针】为const


/*
  为什么要使用const
        a.) 防止对数据的意外修改
        b.) 使程序具有更好的可读性,知道这些数据是常量
        c.) 使编译器能够做更多的优化,使代码更紧凑
        d.) const往往意味着变量放在ROM上,在嵌入式编程中很有用
*/

C++进阶--const

标签:rom   变量   为什么   程序   优化   对象   可读性   嵌入式   code   

原文地址:https://www.cnblogs.com/logchen/p/10164796.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!