假設我想聲明一個本地靜態常量數組,但我不知道它在編譯時的初始化值,必須首先計算它們。 例如,我有一個陣列int p[100]
。我寫了一個循環來填充前100個素數。在這些計算之後,我定義了一個static const int primes[100]
,它必須由p
的值初始化。我怎樣才能做到這一點?使用另一個數組的值初始化本地靜態常量數組
P.S. 「爲什麼我想聲明一個本地靜態const對象?可能沒有一個滿意的答案,但我認爲這不是這種情況。
P.S.S.我只是提到素數就是一個例子。這不是重點。
P.S.S.S.比方說p
有1000000個成員。那麼user2079303建議的解決方案肯定值得讚賞。
@EddeAlmeida - 那根本不是真的。常量可以在運行時初始化,只是沒有改變。考慮函數本地的常量 – Smeeheey
好@Smeeheey。我刪除了我之前做出的愚蠢評論。 –
那麼我應該說,常量在創建時被初始化,並且在那一刻之後不能被改變。因此,人們不能僅僅創造一個常量,以便稍後給它一個價值。它是否正確? –