C++——const关键字

在c++中不建议使用#define进行常量的定义,因为宏定义不存在类型纠错的功能。

常量指针的概念是不能使用该指针进行指向的值的修改,该指针可以指向其他内容。

int main()

{

int a = 10;

const int *p = &a;

std::cout << "\n" << *p << "\n" << std::endl;

}

int main()

{

int a = 10;

const int *p = &a;

//*p = 10;  p指针无法修改其指向的值

std::cout << "\n" << *p << "\n" << std::endl;

}


int main()

{

int a = 10;

const int *p = &a;

int b = 9;

p = &b;//p指针可以指向其他的实体

std::cout << "\n" << *p << "\n" << std::endl;

}

非常量指针可以初始化常量指针。

int main()

{

int a = 10;

const int *p;

int b = 20;

int *q=&b;

p = q;

std::cout << "\n" << *p << "\n" << *p<<std::endl;

}

//不使用强制转换,不能把常量指针初始化非常量指针。

int main()

{

int a = 10;

const int *p = &a;

//int *q = p;

std::cout << "\n" << *p << "\n" << *p<<std::endl;

}

使用强制转换时,常量指针也可以初始化非常量指针。

int main()

{

int a = 10;

const int *p=&a;

int *q;

q = (int *)p;//强制转换

std::cout << "\n" << *q << "\n" << *q<<std::endl;

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • https://blog.csdn.net/u011185231/article/details/51591571...
    燕京博士阅读 667评论 0 0
  • 接着上节 condition_varible ,本节主要介绍future的内容,练习代码地址。本文参考http:/...
    jorion阅读 14,866评论 1 5
  • 题目类型 a.C++与C差异(1-18) 1.C和C++中struct有什么区别? C没有Protection行为...
    阿面a阅读 7,728评论 0 10
  • “众人拾柴火焰高”,就如店面目标的完成,需要我们每个人用心去完成,团队的协作,同事间的默契配合,使工作变得轻松。
    潍坊泰华DDM店刘云阅读 122评论 0 0
  • 这可能是我最不抗拒出差的一次吧,「其实也抗议了,但是反对无效」有什么说什么,不喜欢的事情就不做,或许这样的我...
    彷徨的一小只阅读 173评论 0 0