8

メンバーの場合、私は

//.......vv
SomeType m_XXX;
//.......^^

メンバー関数のプレフィックスとして使用したいのですが、またはで_始まる名前は予約されているため、使用しないでください。___

私の考えは、私が持っているとき:

SomeClass myObject;
myObject.[XXX]

(libの)ユ​​ーザーがドット(.)を書くと、。だけのすべての関数が(次々に)表示されますpublic

これに共通の命名規則はありますか?

pImplインターフェイスクラスと実装クラスを使用して、継承を使用できることを知っています

4

3 に答える 3

22

最も一般的な方法は、共通の接頭辞または接尾辞なしでメンバー関数に名前を付けることです。個人的には、それらを区別することにメリットはないと思います。動機が「ドット(。)を書いて、すべての関数を表示する」に関連している場合は、プログラミングスタイルをそれに合わせて変更するのではなく、エディターを構成または変更する必要があるようです。 。

于 2012-08-20T10:27:08.757 に答える
10

良い慣例は、末尾の下線ですlike_this_。先頭の下線はPythonの方法ですが、C ++では、下線で始まるすべての識別子が実装用に予約されています。

もう1つのオプションは、メンバーアクセスの前に常に。を付けることthisです。

于 2012-08-20T10:33:58.623 に答える
1

私は静的メンバーの_memberメンバー変数を使用することを好みますいいえ、で始まります_camelCase_Cap

ただし、アンダースコアを使用したり、アンダースコアを2つ以上使用し__たりしないでください。これは、インターバル用に予約されています。非常に人気があり、古く、VisualC++で最初に見ました。しかし、私は個人的にそれを醜いと思います。___m_

プライベートインスタンス変数とパブリックインスタンス変数を区別する理由はありません。しかし、そのクラス変数の場合、私は次のようなBigCapから始めますMyClass::MyVar

ローカル変数の場合は、xまたはを使用しますx_y。だから地元の人はメンバーと衝突しない

于 2012-08-20T10:29:46.763 に答える