[C++]const标识符-创新互联

[C++] const标识符
const 简单来说是一个常量的标识符,如果需要一个具有确定且不变的常量时可以使用,一经定义后面不再改变,所以必须初始化。
例如,定义缓冲区大小:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名虚拟主机、营销软件、网站建设、泉州网站维护、网站推广。
const int bufferSize = 512;
double a = 3.14;

const和引用
1.常量的引用
2.引用常量

// 常量的引用
int &ri = bufferSize; //错误,不可以用一般引用去绑定一个常量,因为不可以修改,而一般引用时允许修改的
const int &ri = bufferSize; // 正确,引用常量和常量绑定,符合规范
// 引用常量
const int &r2 = a; // 正确,不允许使用r2来修改a的值
// 不难看出,上面等式打破了引用类型必须与其所引用对象的类型一致
// 上述实际执行的是:
int temp = a;
const int &r2 = temp;
// temp称为临时量对象,一般创建引用绑定对象目的就是要使用引用来改变值。 如果不是用引用常量绑定则错误。

const和指针
1.指向常量的指针
2.指针常量

// 指向常量的指针  仅仅要求不能通过该指针改变对象的值
int *ri = &bufferSize; // 错误,ri是普通指针
const int *ri = &bufferSize; //正确,ri指向 bufferSize 常量的地址不可以使用ri去修改bufferSize的值
const int *r2 = &a; //正确,但是不可以使用r2来修改a的值,a不是常量即允许一个指向常量的指针指向一个非常量对象
// 不难看出,上面的等式打破了 指针类型必须与所指对象的类型一致

// 指针常量,能否修改完全取决于所指对象是否为常量
double *const r3 = &a;//r3是一个指向一般的非常量整数,可以用r3来修改a的值 *r3 = 3;
const int *const ri = &bufferSize; // ri 是一个指向常量对象的常量指针,如何都不可以修改bufferSize的值

const阶级
1.顶层
2.底层

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站标题:[C++]const标识符-创新互联
转载来源:http://pwwzsj.com/article/ddgigh.html