0
比方說,我有一個類A,它包含一個像下面這樣的靜態const int數組。在C++中初始化一個靜態const數組
class A {
static const int _array[];
static int fn(int n);
}
函數fn包含非常繁重的計算。現在我想用函數fn初始化我的靜態常量數組。
我這樣做,以下列方式:
//.cpp file
int A::fn (int n){
....
return ....
}
const A::_array[] = {
fn(0);
fn(1);
fn(2);
...
fn(9);
}
我的問題是,數組初始化是在編譯的時候?如果我在其他課堂教學中使用_array [i],那麼fn會運行多少次?只有10次在它的初始化或它取決於我使用_array多少次?
編輯: 它是c + + 03有沒有更有效的方法來做到這一點?
C++ 11或C++ 03? 'fn'可以是'constexpr'嗎? – Jarod42
如何在編譯時如果'fn'必須執行用戶交互,網絡IO和隨機數生成? –
不應該是'const int A :: _ array [] = ...'在cpp中嗎? – Axel