私はしばらくこれをやっています:
int* myIntPointer;
string* myString1,* myString2;
しかし、多くの人がこれを行っていることに気付きました:
int *myIntPointer;
string *myString1, *myString2;
どちらがより一般的ですか? または、少なくとも優れたプログラミングの実践。
後者は、ポインターがクラスではなく変数で宣言されていることを理解するために望ましいです。たとえば、文字列 ( ) およびstring* myString1, myString2
文字列 ( ) へのポインターを宣言します。このスタイルは、 の別のスタイルよりもややこしいです。myString1
myString2
string *myString1, *myString2
何に重点を置きたいかによります。という名前のtypename* var_name
変数なので、個人的には好きです。ただし、そうすると、次のように複数の変数が定義されているときに混乱する危険があります。var_name
typename*
typename* a, b, c, d; // b, c, d are not of a pointer type
簡単な答え: 関係ありません。
長い答え: C++ プログラマーとして、(まず第一に、私は通常、ポインターを可能な限り回避しようとしますが) アスタリスクは型定義の一部であるため、型の近くに保つことに慣れています ( をint* p
宣言します型のポインターint*
) であり、同じ行でそれ以上の変数を宣言することはほとんどありません。
どの規則に従うことに決めても、コードの一貫性を維持してください。従うスタイルを選択したら、どこでもそれに従います。