数据类型
变量的数据类型,就相当于我们在进行的类定义。
定义了他的数据是什么以及可以在数据上进行的合法操作有哪些。
所以,例如:定义了const int x,就是定义了存储4字节空间的数据,数据存储格式是整数,可以做的操作有…,不可以做的操作有…(值改变等等)。
所以,如果实际上我们进行:
int x=32;
const int &y=x
使不可变的数据y指向了可变的数据x,那么y上可做的操作是不可值改变。但是x上的操作是值可改变。然后int数据类型和const int数据类型对应的数据成员都是一个4字节大小格式为整数的存储空间,而且x和y都指向了这个空间。
那么,我们对x进行了合法的操作使数据改变了,y对应的数据也就改变了。
引用的类型和其绑定的对象必须类型相同?
有两个例外:
对常量初始化时可以使用任意表达式作为初始值,只要该表达式结果可以转换成引用的类型即可。有其,允许将一个常量引用绑定到非常量的对象、字面值、甚至是一个表达式。
指针的类型和其所指的对象必须类型相同?
也有两个例外:
允许另一个指向常量的指针指向一个非常量的对象。
标准与编译器?
标准=标准,编译器=技术
自己的理解
最近感觉和视频编码里面很像
视频编码标准组织给你制定一套标准,具体的编解码器你自己随便设计,具体技术你自己依据自己具体情况来实现。但是告诉你应该是什么样子的码流形式。
C++标准就是给你一套语法标准。具体的编译优化细节,怎么优化怎么编译你随便设计,不同的编译器优化的方法优化的技术不同,代码便利程度和书写习惯自己定。但是告诉你应该有哪些功能的技术和书写形式。