c++虽然也不是第一天学,但以前基础打的不太扎实,现在重新开始进行系统性的学习。
不过这一系列也只是记录性的流水账而已,不过我会把我绝对重要的作重点记录,学习过程可能会非常漫长,边学便随手记录吧。
以下记录关于变量初始化:
1.变量不指定初始值,则变量被默认初始化(default initialized);
2.变量通过等号(=)初始化,则是拷贝初始化(copy initialization),这时将右边的值拷贝到左边进行初始化;
3.变量通过圆括号(())初始化,则是直接初始化(direct initialization),这时通过值直接生产对象;
4.变量通过花括号({})初始化,则是列表初始化(list initialize),这时将列表中的值当做元素的初始值;
2,3的区别主要在是否有临时对象生成,2会生成,3不会。
3,4的区别在一些容器中是否将括号内元素作为值还是作为容量处理,例如vector中圆括号内第一个值作为容量,花括号则为初值。
时间: 2025-01-01 21:07:18