关于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 无删改 仅以此纪念陈皓(左耳朵耗子)
1.vue 项目 views 下的 vue 文件命名规范是怎样的,风格指南中说用大驼峰,潘嘉晨说路由 vue 文件用短横线,然后我也看到很多人用纯小写; 2. 大量表格的项目,…
搞了个 rocketmq 分支,做了 10W+的可读性优化,对应的书也开始周更,有没有一起研究 MQ 的呀? RocketMQ 功能足够,我们主要是做了一些可读性的优化 巨类…
文字转语音,现在有很多厂都有相关 SDK/API 可以使用,但很多都像机器人一样没有感情的在念。想了解下有没有真正基于 NLP 技术的,带情感语气的。 比如,下面 2 行文本:…