代码改变世界

随笔档案-2010年11月26日

[C++再学习系列] 隐式类型转换与转换操作符

2010-11-26 13:06 by zhenjing, 1496 阅读, 收藏,
摘要: C++标准允许隐式类型转换,即对特定的类,在特定条件下,某些参数或变量将隐形转换成类对象(创建临时对象)。如果这种转换代价很大(调用类的构造函数),隐式转换将影响性能。隐式转换的发生条件:函数调用中,当参数类型不匹配,如果隐式转换后能满足类型匹配条件,编译器将启用类型转换。控制隐式类型转换的两种途径:1) 减少函数调用的参数不匹配情况:提供签名(函数参数类型)与常见参数类型的精确匹配的重载函数。2) 限制编译器的启用隐式转换:使用explicit限制的构造函数和具名转换函数。 阅读全文