首页 > 编程语言 > 详细

c++ const 用法总结

时间:2018-06-27 11:54:11      阅读:342      评论:0      收藏:0      [点我收藏+]

最近第二次学习c++ , 却总是忘记const的一些用法, 所以记录一下笔记

技术分享图片

忒困!

A: const指针位于 * 的左边

A : const 修饰指针指向的内容, 则内容为不可变量但指针可变;

  称其为左定向, const 位于 * 的左边

    int i = 10;
    int j = 20;
    const int *p = &i;
    printf("%d\n", *p);
    
    p = &j; // it‘s ok
    
    *p = 30; // it‘s error
    
    i = 39; // it‘s ok
    printf("%d\n", *p);

 

B: const指针位于 * 的右边

B: const 修饰指针, 则指针为不可变量; 可以改变值, 但不能改变地址
  称其为右定向, const 位于 * 的右边

    int a = 8;
    int * const p = &a;
    
    *p = 9;

    int b = 7; // it‘s error
    p = &b; // it‘s error
    printf("%d\n", *p);
    printf("%d\n", a); // a也变成9 了

 

C: const指针位于 * 的两边

C: cosnt修饰指针和指针指向的内容, 则指针和指针指向的内容都为不可变量;
  左定值, 右定向, const修饰不变量

 

    int a = 8;
    const int * const p = &a;
    
    printf("%d\n", *p);

 

c++ const 用法总结

原文:https://www.cnblogs.com/renfanzi/p/9233194.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!