是否有任何方法可以避免cpp文件中所有方法的重复类实例化

Is there anyway to avoid repetitive class instantiations for all methods in the cpp file?

本文关键字:有方法 实例化 任何 方法 可以避免 文件 cpp 是否      更新时间:2023-10-16

在cpp文件中实现以前在h文件中约定的方法时,是否有任何方法可以简化类的显式语句?

类似。。。

MyClass:: {
void my_method() { implementation };
void my_other() { implementation };
}

没有,但一个好的IDE会提供一些重构功能来简化键入。对于VisualStudio来说,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 };
  ...
}