摘要:
C++中的转型语法有三种形式:1)C风格的转换:T(expression)(T)expression上面两种形式都是将expression转换为T类型。2)C++新型转换:a. const_cast(expression) 将对象的常量性转除,是唯一有此能力的C++风格转型操作符;b. dynamic_cast(expression) 主要用来执行“安全向下转型”,也就是觉得对象是否归属继承体系中的某个类型。它是唯一无法由旧式语法执行的动作,也是唯一可能耗费重大运行成本的转型动作。c. reinterpret_cast(expression) 意图执行低级转型,实际动作可能取决于编译器,因此. 阅读全文
摘要:
如果你定义了一个变量而其类型带有一个构造函数和析构函数,那么当程序的程序流到达这个变量定义式时,你便得承受构造成本;当这个变量离开其作用域时,你便得承受析构成本,即使这个变量最终并未被使用,你仍需耗费这些成本,如下面的代码: 1 string encryptPwd(const string& pwd) 2 { 3 string encrypted; 4 if(pwd.length() < MinimumLength) 5 { 6 throw logic_error("Pwd is too short!"); 7 } 8 ... 阅读全文