C++ 重定义注意项
- 非静态类在实例化时才定义,所以成员变量在多个头文件直接引入不会报重定义错误。 函数不报错误是因为默认内联。
- 静态类中成员变量只能在类内声明,类外定义。当需要多个头文件引入时,需要分开写在H和CPP中,否则变量报重定义错误。
- Thread不能用&,需要ref模拟代替。
引用:https://www.cnblogs.com/wildricky/p/16298510.html
因为不确定真正的对象何时调用。所以为了简单的保证调用时参数不被析构,所以采用复制和移动。虽然这样保证了调用的安全性,但是不能传递参数是引用的可调用对象。必须显示的使用std::ref(xxx)或std::cref,来传递引用参数。