五.三目运算符的加强
C++中,三目运算符可以作为左值使用,而在C中,三目运算符只可当作右值,不可当作左值。
#include <iostream>
using namespace std;
void test1()
{
int a = 10;
int b = 20;
int c =0;
c = (a<b)? a : b;
cout<<c <<endl;
//三目运算符可以当作左值
//这里实际上相当于返回a的引用
( (a<b) ? a : b) = 50;
//a=50;
cout<<"a = "<< a <<endl;
cout<<"b = "<< b <<endl;
}
int main()
{
test1();
return 0;
}
六.const的增强
关于const不同位置的修饰含义
当我们写const int a=10;的时候,实际上,编译器,是把这个数值和a,放到一个“符号表”里。而不是在栈上去开辟空间。。在这个符号表中,一旦放入的const定义就不可修改。这里类似预处理阶段的宏定义。。区别在于,这里是在编译器的编译阶段去处理的const。
如果我们对于一个常量取地址,编译器会临时开辟一个空间temp,让这个指针存放这个临时空间的地址。
七.枚举的增强
C++的枚举类型,只能被赋值枚举类型,而不能像C里面一样,给枚举类型赋数值
八. 引用的基本概念
九.中午回顾