new运算符
new运算符会在堆上申请一段内存空间,一般的变量是在栈上的。
new出来的变量只要不delete释放,在其他函数等任意位置都可以使用,
new会返回这段内存空间的首地址。
new并不确保会自动初始化
测试
- 这里我们使用vs2019运行测试
- 待测试的一共有4种变量申请方法:
- 全局区new - 图中global_new_int
- 全局区声明 - 图中global_int
- 函数内new - 图中fun_new_int
- 函数内声明 - 图中fun_int
- 直接运行是过不了vs2019的编译的
- 提示fun_int没有进行初始化就被使用
- 因此 函数内声明的变量 就显然是需要自己手动初始化的,编译器不会帮我们。
- 接下来给fun_int手动初始化,改为int fun_int = 123;
- 运行结果
- 全局区new - 不会自动初始化
- 全局区声明 - 会自动初始化为0
- 函数内new - 不会自动初始化
- 函数内声明 - 不会自动初始化,而且不手动初始化的话连编译都过不了
结论
- 可见new的不管是在全局区还是函数内都不会自动初始化。
- 而在全局区直接定义变量是会自动初始化的。
- 自己习惯手动初始化才是最保险的。
dánh bài tr?c tuy?n: casino tr?c tuy?n uy tín – dánh bài tr?c tuy?n
http://casinvietnam.com/# casino online uy tin
casino tr?c tuy?n vi?t nam casino tr?c tuy?n vi?t nam danh bai tr?c tuy?n
casino online uy tín: choi casino tr?c tuy?n trên di?n tho?i – casino tr?c tuy?n vi?t nam
choi casino tr?c tuy?n tren di?n tho?i web c? b?c online uy tin choi casino tr?c tuy?n tren di?n tho?i
https://casinvietnam.shop/# choi casino tr?c tuy?n tren di?n tho?i
casino online uy tín: web c? b?c online uy tín – game c? b?c online uy tín