C++ FAQ学习笔记 9,10章

发布时间:2016-12-10 21:00:09 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"C++ FAQ学习笔记 9,10章",主要涉及到C++ FAQ学习笔记 9,10章方面的内容,对于C++ FAQ学习笔记 9,10章感兴趣的同学可以参考一下。

[9.9] 在定义于类外部的内联函数中,以下哪种方法最好:是把inline关键字放在类内部的成员函数声明前呢,还是放到类外部函数的定义前呢,还是两个地方都写? 最佳实践是:仅放在类外部函数的定义前。而且习惯放在头文件中 class Foo {  public:    void method();  ← best practice: don't put the inline keyword here    ...  };  inline void Foo::method()  ← best practice: put the inline keyword here  { ... } tips:定义在类中的方法一般默认为inline方法,编译器可以自己做决定。另外虚继承之类的方法一般不用inline. http://stackoverflow.com/questions/145838/benefits-of-inline-functions-in-c http://stackoverflow.com/questions/1759300/when-should-i-write-the-keyword-inline-for-a-function-method/1759575#1759575 http://stackoverflow.com/questions/60830/what-is-wrong-with-using-inline-functions http://stackoverflow.com/questions/86561/inlining-c-code [10.3] 如何才能够使一个构造函数直接地调用另一个构造函数? 不行。 注意:如果你调用了另一个构造函数,编译器将初始化一个临时局部对象;而不是初始化this对象。你可以通过一个默认参数或在一个私有成员函数 init() 中共享它们的公共代码来使两个构造函数结合起来。 [10.4] Fred 类的默认构造函数总是Fred::Fred()吗? 不。“默认构造函数”是能够被无参数调用的构造函数。因此,一个不带参数的构造函数当然是默认构造函数 然而,如果参数被提供了默认值,那么带参数的默认构造函数也是可能的: [10.6] 构造函数应该用“初始化列表”还是“赋值”? 初始化列表效率更高。 [10.7] 可以在构造函数中使用 this 指针吗? [10.9] 为何不能在构造函数的初始化列表中初始化静态成员数据? [10.12] 如何防止“static initialization order fiasco”? 使用“首次使用时构造(construct on first use)”法,意思就是简单地将静态对象包裹于函数内部。 [10.13] 对于静态数据成员,如何防止“static initialization order fiasco” [10.13] 对于静态数据成员,如何防止“static initialization order fiasco”? 如上两者类似 返回引用,返回指针的概念(vendor add),赋值构造函数,拷贝构造函数

上一篇:益和VA 5 多动态域名引擎,无固定IP者的福音
下一篇:ioctl、文件操作接口函数以及nand的升级模式的操作过程详解

相关文章

相关评论