关于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 无删改 仅以此纪念陈皓(左耳朵耗子)
前端基于 Vue3 + Element Plus + Vite + TypeScript 。当前,每个页面都有类似于:详情对话框、编辑对话框和各种嵌套对话框等,该复用的已经复用…
中国移动云-8h16g50m 120r/年,有现货(量多可优惠) 1300g 数据盘 12r/月,80r/八个月,排队发货 8 核 16G 80G+500G 50M 带宽 Li…
需求是几百个客户端不断给我们上报一些数据(加起来每分钟 2000 条左右)我们分类后上报给不同上游。上游的接口设计非常差劲(按照同一份文档),一次只能接受一条数据,有的上游一个…