這是一個非常基本的問題;對不起,如果它很常見,但我找不到具體的答案。處理需要多行初始化的'const'對象
通常情況下,我發現自己處於一個對象固有不變的情況,但需要多行來初始化。例如說我想要一個箭步是一個未知在編譯時數在向量元素的產品:
const std::vector<int> extentsVector; //pretend this is initialized
int stride = 1;
for (int i=0; i<k; ++i){
stride *= extentsVector[i];
}
無論如何,你的想法。我再也不想碰「大步」,所以它應該是const。處理這個問題的首選方法是什麼?我是否使用臨時計算值並將其分配給'const'對象?或者是一個更好的演員?或者我只是把它保留爲非const?
C不是C++不C!不要添加不相關的標籤。 – Olaf
@Olaf除了示例中的「std :: vector」(這不是實際問題的根本),我覺得這個問題的基本思想同樣適用於兩種語言,但是沒問題。 – AGML
根據語言,合適的解決方案可能會有很大的不同。只是不要將C標籤用於C++,反之亦然。 – Olaf