在实现之前在 h 文件中约定的 cpp 文件中的方法时,有什么方法可以简化类的显式声明?
就像是...
MyClass:: {
void my_method() { implementation };
void my_other() { implementation };
}
在实现之前在 h 文件中约定的 cpp 文件中的方法时,有什么方法可以简化类的显式声明?
就像是...
MyClass:: {
void my_method() { implementation };
void my_other() { implementation };
}
没有,但是一个好的 IDE 会提供一些重构工具来简化输入。对于 Visual Studio,VisualAssist是一个很好的插件(不以任何方式附属)。
您可以选择创建自己的宏,例如:
// This is very ungly, probably best avoided
#define lessTyping(method) MyClass::##method()
lessTyping(my_method)
{
}
但这确实会损害可读性。
不。
C++11 标准§9.3 [class.mfct] p5
:
如果成员函数的定义在词法上超出其类定义,则成员函数名应使用运算符由其类名限定
::
。
不,避免它们的唯一方法是直接在头文件中使用内联声明,如
class MyClass
{
void my_method() { implementation };
...
}