C++有很多关键字,比如if、else、for、continue、break这类常用关键字。还有一些使用不是很频繁的关键字,容易被忘记,这里总结一下,对于笔试面试也许会有帮助。
1、explicit
这个关键字对于好的代码是必要的。
使用explicit关键字,将构造函数声明为显式构造函数,以防止隐式的类型转换。
class Test
{
public:
explicit Test(const std::string& s){}
Test operator+(Test&){}
};
接受一个实参的构造函数,实际上定义了转换为此类类型的隐式转换机制,可称为转换构造函数。(见C++ Primer 5)。在上述代码中,将string 类型的对象转换为Test类对象。即,在需要使用Test的地方,可以使用string来代替,这种转换是由编译器自动执行的。
Test a;
string st