1、字符串
char *s = "Hello World"; // 将代码段的字符串地址直接付给指针,所以后面尝试修改会报错(代码段不可修改),
// 应该在开头改写为const char *s
char s[] = "Hello World"; // 数组被写入堆栈,将代码段的字符串拷贝到堆栈
2、引用
char& r = c; // 引用可以做左值
相当于给c取了一个别名,此时c、r绑定到同一实体。
int x;int y;
int& a = x;
int& b = y;
a = b; // 等价x=y
注意,引用无法取地址,即 int&* r 的写法是错误的,不过相对的,int*& p 是没问题的,指针可以被引用。
class的成员变量是引用时
此时只能使用initializer list的方式初始化引用对应的变量,如果在{}中使用m_y=a则表示将a复制给m_y对应的变量。