2012-10-17 98 views
-5

讀取加速的C++:討論是否應使用int* iint *i。而那int* p, q實際上是int (*p), q。所以我想q只是一個int? (不是指針)?那麼是否可以聲明一堆指針?我不假設int *p, *q將工作?在單個聲明中聲明多個指針

+2

您應該讀取推薦「int * p; int q;」的部分稍後段落 – PlasmaHH

+3

如果您不確定結果是什麼,爲什麼不使用兩條單​​獨的行呢?把事情簡單化。保持它你如何理解它。 – stefan

+2

我還建議,對於這種微不足道的事情,在詢問之前測試一下 – Basic

回答

8

我不假設int * p,* q會起作用嗎?

它會測試它。這是正確的方法來做到這一點

另一種選擇,爲了避免這樣的困惑,是單獨聲明他們

int* p; 
int* q; 

,所以我想q是隻是一個int

int* p, q

- 是的,它int而不是指針。

+0

這不完全是**正確的方式,它只是一種可能的方式。更好的辦法是分別聲明每個對象,並避免這種問題。 –

+0

@BoPersson - true。要點(我真的懷疑我是否應該在回答中加入「the」:)) –

+1

如果堅持「一行一分號」,它就是「這個」的方式。既然問題只是關於這種風格,那麼使用「the」是適當的,恕我直言。 – stefan

2
template<typename T> using ptr = T*; 

ptr<int> p, q;