int* p; // OO Style, Type emphasis
int *p; // Procedural style, Expression emphasis
int * p; // Unconventional Style, No emphasis
結論:
我選擇 int* p;
爲什麼:
缺點:
1 int* p, p1; 這種情況,會誤以爲p1爲指針,實際上是int型。
int *p, *p1;這是支持這種寫法的主要原因。
(1) 不建議一行定義多個變量。
(2) 可以寫成int* p, * p1;
優點:
1 強調類型。
2 int* fun(); 比 int *fun(); 從視覺上,更容易看清楚返回的是指針類型。
特別是,從視覺上int (*fun_p)();區別更大一些。避免將函數指針,認爲是返回指針的函數。
3 int const * p; 和const int* p;含義一樣,
int* const p; 和 int * const p一樣,
用const int* const p;寫法,最兼容幾種寫法。
please read:
http://stackoverflow.com/questions/377164/whats-your-preferred-pointer-declaration-style-and-why