如果想用unicode,那么请使用char_32类型
字符串一定要用双引号,字符字面值要用单引号
“Hello”为啥是char[6]? 因为后面还有'/0'
字面值不对应内存来存储。rvalue的典型特点,没有对应地址。
直接初始化,拷贝初始化,缺省初始化
在c语言中,NULL对应的就是0,但是在c++中,nullptr对应的就是一个对象
试了一下打印指针的地址,对于int来说,很容易理解的是,两个指针之间差了4(byte),但是本来预期打印char,会显示地址,并且每个地址差1(byte),但实际上,却不会直接显示地址。
查了一下,原因涉及到<<针对char的重载。
最后显示的结果有符合预计。
什么时候使用void*
我们不关心指针的类型,只是需要强调这是一个指针(作为参数)。为什么? 因为指针的尺寸都是一样的,所以我们可以进行这样的转换。但是,使用了它之后,我们也会失去他所对应的对象的大小信息。
指针的指针
为什么要引入指针的概念:
指针的复制成本低,通过间接引用,减少传输成本。==》比较适合传参。(传指,传值)==》更好的解决方案: 引用
引用==对象的别名
注意区分--改变指针,改变指针所指向的对象两者的区别
声明对应的危险情况较少,但是不能让引用指向已经销毁的对象。引用在底层还是通过指针实现的,
这是一个指针的引用(用从右到左的顺序去解析它)
int && 表示右值引用(我们不能定义引用的引用)