C++ 学习(1) 数据类型
1.新增一个宽字符类型:
wchar_t
typedef short int wchar_t
-
枚举类型
enum color{red, green, blue};
color c;
c = blue; -
换行符 \
-
#define的用法
#define LENGTH 10
5.const 作用前缀声明指定类型的常量。
const int BOOK = 10;
注意将常量定义为大写字母形式,是一个很好的编程实践。
-
修改符类型
eg: short unsigned int j;
-
类型限定符
有三个:const, volatile, restrict
const:const 类型的对象在程序执行期间不能被修改。
volatile:。如在C语言中,volatile关键字可以用来提醒编译器它后面所定义的变量随时有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。
如果一个变量可能会连接到寄存器,它的值随时都可能变化,则需要加volatile来进行修辞。
restrict:看见的不多,暂时不学习。
- 存储类
包含:auto、 register、 static、extern、mutable、thread_local(C ++11)
auto: C++98标准中auto关键字用于自动变量的声明。
register用于定义变量存储于寄存器中而非RAM中。但是最后会不会存储于 寄存器中取决于硬件等其它条件。
static存储类:
static有两种用途,一是用于局部变量
二是用于全局变量。
对于局部变量:不会在每次进入和离开作用域时进行创建和销毁,可以在函数调用之间保持局部变量的值。
对于全局变量:会使变量的作用域限制在声明它的文件内。
extern存储类
用于调用在其它函数定义的函数或变量。
mutable
后面再学
thread_local
ThreadLocal类顾名思义可以理解为线程本地变量。也就是说如果定义了一个ThreadLocal,每个线程往这个ThreadLocal中读写是线程隔离,互相之间不会影响的。它提供了一种将可变数据通过每个线程有自己的独立副本从而实现线程封闭的机制。
异或
^