标签:情况 规范 风格 www 隐式类型转换 effective hub contents 它的
一、 首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).
总结:
explicit关键字只需用于类内的单参数构造函数前面。由于无参数的构造函数和多参数的构造函数总是显示调用,这种情况在构造函数前加explicit无意义。
google的c++规范中提到explicit的优点是可以避免不合时宜的类型变换,缺点无。所以google约定所有单参数的构造函数都必须是显示的,只有极少数情况下拷贝构造函数可以不声明称explicit。例如作为其他类的透明包装器的类。
effective c++中说:被声明为explicit的构造函数通常比其non-explicit兄弟更受欢迎。因为它们禁止编译器执行非预期(往往也不被期望)的类型转换。除非我有一个好理由允许构造函数被用于隐式类型转换,否则我会把它声明为explicit,鼓励大家遵循相同的政策。、
二、 谷歌代码风格规范
https://zh-google-styleguide.readthedocs.io/en/latest/contents/
三、 sprintf() 与 snprintf()的 区别
参见 https://www.cnblogs.com/52php/p/5724390.html
四、 vim 配置cpplint and clang-format 配置
五、 代码分割
https://unbug.github.io/codelf/#%E5%88%86%E7%B1%BB
六、 crontab 定时任务,需要crond 任务启动。
标签:情况 规范 风格 www 隐式类型转换 effective hub contents 它的
原文地址:https://www.cnblogs.com/simplepaul/p/10223914.html