- C
- Object_Oriented C++ (c with classes)
- Template C++
- STL
- static 成员需要一个放在实现文件的定义式。放在头文件的是declaration,放在实现文件的是defination。
- 对于单纯常量,最好以const对象或enums替换#defines
- 对于形似函数的宏,最好该用inline函数替换#defines
- const 可施加于任何作用域内的对象,函数参数,函数返回类型,成员函数本体
- 如果你希望迭代器所指的东西不可被改动,你需要的是const_iterator
- 令函数返回一个常量值,往往可以降低因客户错误而造成的意外
- 将const实施于成员函数的目的,是为了确认该成员函数可作用于const对象上。
- 两个成员函数若只是constness的不同,可以被重载
- mutale 释放no_static成员变量的bitwise constness的约束
- 编译器强制实行bitwise constness,但你编写程序时应该使用概念上的常量性。概念上的常量性可能是为什么mutable为什么存在叭。
- 在const 和 non-const 成员函数有着实质性等价的实现时,令non-const版本调用const版本可以避免代码重复
- 为内置型对象进行手工初始化,因为c++不保证初始化它们
- 如果成员变量是const 或 引用,它们一定需要初始化,不能被赋值。
- 构造函数最好使用成员初值列,而不要在构造函数内使用赋值操作,初值列列出的成员变量,其排列次序应该和它们在class中的声明次序相同
- c++对于定义在不同编译单元内的non-local static对象的初始化顺序并无明确定义。
- 我们需要做的是将non-local static 对象放搬到专属函数内,(该对象在函数内被声明为static),返回一个引用指向它所含的对象。单例设计模式。 
 
             
            posted @ 
2023-03-12 20:31 
stu--wy 
阅读(
22) 
评论() 
 
收藏 
举报