2017-07-08 19 views
1

はのはタイプの後に名前を付ける変数の名前は何ですか?

struct dog{ 
    enum class breed{ 
     shepherd, husky, terrier 
    }; 
    breed breed; // I don't know what to name this. 
}; 

dog::breedは理にかなって私はenum class breedを持っていると私はタイプbreedの変数を初期化したいと私は、変数「品種」という名前を付けたいとしましょう、しかしdog.breedも理にかなっています。私はこれらの名前を何にするのか分からないので、彼らは衝突しない。

+4

リコール。 –

+1

あなたの想像力を使って、違うものにしましょう。 –

+0

@IgorTandetnikこれを標準ライブラリに伝えます。 –

答えて

2

(私は推測)、Javaからオーバースワップは大文字でクラス/列挙名を開始するのが一般的:C++は大文字と小文字が区別され

Breed breed 
+0

このメソッドは、ほとんどのコーディングスタイルでは、誤植によって誤挿入され、読みやすさが低下するため、戸惑うことがあります。 –

+0

@ThomasMatthews:あなたは首都の手紙を意味するか、同じ名前を使用していますか?私はそれがSOのコメントの形式では難しいことを知っていますが、ちょっと精巧にできますか?私は例えばです。コンパイラが不平を言っていなくても型や変数名のどちらかを使うことができ、それでも(例えばsizeofなど)それが違いを生み出さない状況は非常に少ないと思うので、誤植がどのようにエラーを引き起こすかはわかりません。 '_t' - 接尾辞テクニックも非常に一般的ですが(個人的には好きですが)、これらの名前はIIRCがPOSIX名用に予約されています。 – MikeMB

+0

@ThomasMatthews:私はちょうど質問の下であなたのコメントを読んで、私が提案したスキームがハンガリー表記と同じではないことを指摘したいと思います。私はここで型名をエンコーディングしていませんが、その型が変数だけでなく型にも適していることを認識しています。これは主に非常に特殊な目的を持っているためです( 'int'、' double'、 'std :: map'など)。 – MikeMB

関連する問題