另外还有 long double 不少于double 不低于double
注意:
在VS和Linux中 long double占用的内存空间分别是8和16个字节
c++11原始字面量
void的关键字
在C++中,void表示为无类型 主要有3个用途
1、函数的返回值用void 表示函数没有返回值
2、函数的参数填void,表示函数不需要参数(或者大多数都是让参数列表空着)
3、函数的形参用void* 表示接受任意数据类型的指针。
C++内存模型
堆和栈的主要区别:
1 管理方式不同:栈是系统自动管理的,在出作用域时,将自动被释放;堆需要手动释放,若程序中不释放,程序结束时由操作系统回收。
2 空间大小不同:堆内存的大小受限于物理内存空间;而栈空间小的可怜,一般只有8M(可以修改系统参数)
3 分配方式不同:堆是动态分配的;栈有静态分配和动态分配(都是自动释放)。
4 分配效率不同:栈是系统提供的数据结构,计算机在底层提供了对栈的支持,进栈和出栈有专门的指令,效率比较高;堆由C++函数库提供的。
5 是否产生碎片:对于栈来说,进栈和出栈都是有着严格的顺序(先进后出),不会产生碎片;而堆频繁的