Skip to content

关于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 ,请勿用于任何商业用途)

相关文章