关于C++构造函数的FAQ
下面是一些关于C++构造函数的FAQ。你能回答得出来吗?你可以点链接查看答案,不过是英文版的。他们来自于C++ FAQ Lite。当然,也有中文版的,只可惜中文版的太老了,只更新到了2001年。在C++ FAQ Lite上还有很多关于其它部分的FAQ,大家可以去看看。
[1] 构造函数是用来干什么的?
[2] List x; 和 List x();有什么不同?
[3] 是否一个类的构造函数可以调用另一个构造函数来初始化自己?
[4] 是否Fred类的默认的函数函数就一定是Fred::Fred()?
[5] 如果要创建一个Fred 对像数组,什么样的构数函数会被调用?
[6] 构造函数初始化成员变量时,用 “初始化列表” 还是 “赋值”?
[7] 在构造函数中用this 指针是否有问题?
[8]什么是“名字构造函数”(Named Constructor Idiom)?
[9] “值返回”意味着额外的拷贝吗?
[10] 为什么我们不能在构造函数初始化列表中初始化一个 static 成员变量?
[11] 为什么一个有 static 成员变量的类会有链接错误?
[12] 什么是“static initialization order fiasco”?
[13] 我该如果避免 “static initialization order fiasco”?
[14] 为什么 construct-on-first-use 什么静态变量而不是指针?
[15] 怎么才能避免静态成员中的“static initialization order fiasco” ?
[16] 我是否要为内建类型的“static initialization order fiasco”而担心?
[17] 如果构造函数出错了怎么办?
[18] 什么是“命名参数惯用法”(Named Parameter Idiom)?
[19] 为什么我通过Foo x(Bar())声明一个Foo 对象会得到一个错误?
转载于酷壳CoolShell 无删改 仅以此纪念陈皓(左耳朵耗子)
在校大学生在学习过程中经常遇到一些问题,使用中文搜索即使在谷歌也找不到自己想要的结果,又不知道应该如何愉快使用 stack overflow 这样的外文网站。特别是一些专业术语…
有什么好的 arm 小主机做服务器( NAS )的可以推荐的吗? 需求: 支持内存扩展,能扩展到 64GB 内存最好 支持 m.2 插孔的硬盘(nvme 或 sata 协议都…
场景: 在某个项目中,小明和小红开发两个不同的功能,于是他们基于项目的 master 分支分别创建了自己的 feature 分支,小明的是 feature A 分支,小红的是 …