c++注意事项

  • 类设计
    1. 构造函数不要全部包含默认参数(加explicit)
    2. setter返回对象本身的非const引用
    3. 当某些行为与类型相关时,就需要考虑使用继承和多态了
    4. 算术操作符+-*/,==定义为全局函数(交换性),另外一个直接用已定义的来定义,在可以转为同一类型的情况下可以只定义一个(比如string,char*)
    5. 前置++ –返回引用,后置++ –返回值
  • 模板
    1. 迭代器可以用来模拟虚拟数列,IO设备
    2. 在有大量算法需要更改时,考虑一下迭代器适配器、函数适配器
    3. 对于模板类,编写一个生成其对象的模板方法
    4. 构造函数也可以是模板函数
    5. 操纵器、应用器、函数对象
    6. 使用模板将应用程序库与IO分离

旮旯

std::function<void(void)>(foo)(); //错误,等价于下行
std::function<void(void)>foo();
(std::function<void(void)>(foo))();//正确
std::function<void(void)>{foo}();//正确

发表评论

电子邮件地址不会被公开。 必填项已用*标注