以前に 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 };
...
}