例如恆定值陣列我有:陳述在C++
int boo[8];
boo[1] = boo[3] = boo[7] = 4;
boo[0] = boo[2] = 7;
boo[4] = boo[5] = boo[6] = 15;
如何我應該輸入它作爲恆定值?我看到類似的問題,但它並沒有幫助我。
編輯: 還有一個問題,如果噓指數0 1 3 4 5 6 7是恆定的,但噓[2]不是?是否有可能做到這一點?
例如恆定值陣列我有:陳述在C++
int boo[8];
boo[1] = boo[3] = boo[7] = 4;
boo[0] = boo[2] = 7;
boo[4] = boo[5] = boo[6] = 15;
如何我應該輸入它作爲恆定值?我看到類似的問題,但它並沒有幫助我。
編輯: 還有一個問題,如果噓指數0 1 3 4 5 6 7是恆定的,但噓[2]不是?是否有可能做到這一點?
這是你在找什麼?
const int boo[] = { 7, 4, 7, 4, 15, 15, 15, 4 };
優惠非const指針這樣的陣列中的一個條目:
int * foo = (int*)&boo[2];
一個不那麼完美的解決方案可以是:
const int boo[8] = {7,4,7,4,15,15,15,4};
另一種解決方案可以是:
int boo_[8];
boo_[1] = boo_[3] = boo_[7] = 4;
boo_[0] = boo_[2] = 7;
boo_[4] = boo_[5] = boo_[6] = 15;
const int * boo = boo_;
不,看起來很優雅:) – x10 2011-04-07 13:54:02
使用'boo_'而不是'_boo'。以下劃線或雙下劃線開頭的名稱保留供實現(編譯器)使用。這裏有一些規則,但它可能最好是在開始時一起避免下劃線。 – 2011-04-07 14:03:17
如果用「常量值」表示初始化l ist,你不能。但是一些編譯器提供了有趣的擴展。看看這個問題http://stackoverflow.com/questions/201101/how-to-initialize-an-array-in-c – 2011-04-07 13:47:47
你的意思是你想要const int boo [8]? – Dinaiz 2011-04-07 13:47:51