2

私はしばらくこれをやっています:

int* myIntPointer;
string* myString1,* myString2;

しかし、多くの人がこれを行っていることに気付きました:

int *myIntPointer;
string  *myString1, *myString2;

どちらがより一般的ですか? または、少なくとも優れたプログラミングの実践。

4

5 に答える 5

5

後者は、ポインターがクラスではなく変数で宣言されていることを理解するために望ましいです。たとえば、文字列 ( ) およびstring* myString1, myString2文字列 ( ) へのポインターを宣言します。このスタイルは、 の別のスタイルよりもややこしいです。myString1myString2string *myString1, *myString2

于 2013-05-10T21:10:14.430 に答える
3

何に重点を置きたいかによります。という名前のtypename* var_name変数なので、個人的には好きです。ただし、そうすると、次のように複数の変数が定義されているときに混乱する危険があります。var_nametypename*

typename* a, b, c, d; // b, c, d are not of a pointer type
于 2013-05-10T21:10:35.303 に答える
2

簡単な答え: 関係ありません。

長い答え: C++ プログラマーとして、(まず第一に、私は通常、ポインターを可能な限り回避しようとしますが) アスタリスクは型定義の一部であるため、型の近くに保つことに慣れています ( をint* p宣言します型のポインターint*) であり、同じ行でそれ以上の変数を宣言することはほとんどありません。

どの規則に従うことに決めても、コードの一貫性を維持してください。従うスタイルを選択したら、どこでもそれに従います。

于 2013-05-10T21:10:51.603 に答える