[C++学习]关键字

const关键字

const关键字表示该数据类型的值只读,不可赋值,也就意味着它必须初始化

const若是修饰常量,则只读变量的值会放在“符号常量表”中,而不会立即开辟空间,当数据取地址时则会开辟空间。

const int data = 100;
int *p = (int *)&data;  //开辟空间,p指向该空间。
*p = 2000;
cout << *p << endl;    //2000,值变了。
cout << data << endl;   //100,符号常量表的值。

 如果以变量形式初始化,则只读变量会立即开辟空间。(没有符号常量表)

    int a = 100;
    const int data = a;
    int *p = (int *)&data;   //赋值data地址
    *p = 2000;          //修改data地址内的值
    cout << *p << endl;    //2000
    cout << data << endl;   //2000

 如果以自定义类型变量,则立即开辟空间。(没有符号常量表)

register修饰寄存器变量

若是某变量高频使用时,系统会自动将该变量加入寄存器中。(被动)

加上register关键词可将数据放入寄存器中,会提高访问效率。(主动) //尽量不要对寄存器变量取地址,取地址是对内存操作,最好不要对寄存器取地址。

register变量只是尽量放入寄存器中,并不保证成功。

volatile关键词

 需要实时读取最新的数据时添加volatile关键词。表示强制访问内存。(若是系统将该data放入寄存器而导致数据非最新,可能会引起数据误差)

typedef关键词

给已有的类型起别名。

本文作者:Canyoooo

本文链接:https://www.cnblogs.com/canyooo/p/17450434.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Canyooo  阅读(17)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 黑洞里 方大同
黑洞里 - 方大同
00:00 / 00:00
An audio error has occurred.

Not available