, 每个开发者都应该学习STL
C++各个部分功能上有很大的重叠, 使用的时候要视乎自己使用目标来选用合适的分部
2 尽量以const, enum, inline 替换 #define
#define并不被视作语言的一部分...那么对于那些赋值和直接初始化效果一样好(例如那些需要借助数据库进行真正的初始化的成员)则应该移进一个统一的特殊函数中(Setup函数), 然后在构造函数中调用这个函数
对于static成员又要注意, C...为了解决这个问题, 最好在程序最开始还是单线程启动的时候在一个函数中有顺序地集中初始化所需的所有static成员, 然后再启动多线程
2 构造/析构/赋值运算
5 了解C++默默编写并调用哪些函数
编译器会在类的构造函数被调用但是我们没有自己声明时自动创建..., 此时有可能继续抛出异常导致多异常未定义
因此我们应该将所有析构函数用try-catch包裹起来, 可以选择吞掉异常然后继续执行, 也可选择记录后结束程序
更合理的方法是额外写一个close函数, 用户可以主动调用...的设计
有以下几点一定要在创立前进行思考:
如何创建和销毁
初始化和赋值的区别
如果被按值传递的话会有什么区别
有哪些是"合法值"
需要继承/被继承么
需要哪些类型转换
需要哪些操作符
哪些编译器函数需要拒绝