C++编程规范之40:要避免提供隐式转换
来源:互联网 发布:厦门科华工资怎样知乎 编辑:程序博客网 时间:2024/05/21 08:37
摘要:
并非所有的变化都是进步。隐式转换所带来的影响经常是弊大于利。在为自定义类型提供隐式转换之前,请三思而行,应该依赖的是显示转换。
隐式转换主要有两个主要的问题:
1.它们会在最意料不到的地方抛出异常。
2.他们并步总是能与语言的其他元素有效地配合。
隐式转换构造函数与重载机制配合得很糟糕,而且会使不可见的临时对象到处出现。在C++中,一个转换序列最多只能包含一个用户定义的转换。可是,如果这其中加入了内置转换,结果就会变得极为混乱。解决方法主要有:
1.默认时,为但参数构造函数加上explicit。
2.使用提供转换的命名函数代替转换操作符。
1 0
- C++编程规范之40:要避免提供隐式转换
- C++编程规范之29:考虑重载,以避免隐式类型转换
- C++编程规范之16.避免使用宏
- C++编程规范之17:避免使用“魔数”
- C++编程规范之30:避免重载&&,||或,(逗号)
- C++编程规范之36:优先提供抽象接口
- C++编程规范之20:避免函数过长,避免嵌套过深
- c++避免隐式转换
- C语言之程序编程规范
- C++编程规范之21:避免跨编译单元的初始化依赖
- C++编程规范之22:尽量减少定义性依赖。避免循环依赖
- C++编程规范之35:避免从并非要设计成基类的类中继承
- C++编程规范之45:总是一起提供new和delete
- 利用重载避免隐式类型转换(More Effective C++_21(效率))
- More Effective C++----(21)通过重载避免隐式类型转换
- C/C++编程规范
- C/C++ 编程规范
- C#.NET编程规范
- GO语言特点
- 如何快速成为一名合格的DBA
- PHPCMSV9修改列表页分页样式代码
- Oracle全球化支持:字符集系统介绍及服务器端、客户端设置
- 笔记1listview监听冲突
- C++编程规范之40:要避免提供隐式转换
- 【天道酬勤】 腾讯、百度、网易游戏、华为Offer及笔经面经
- VS2010 常用快捷键
- 使用UE上的HTML转码功能来 转义 javascript中的\x65之类的
- 关于 copy-on-write 写时复制
- UNIX/Linux进程间通信IPC系列(三)FIFO
- Http协议
- 快发工资了呢
- uva 11920 - 0 s, 1 s and ? Marks(贪心)