这是一个非常基本的问题;对不起,如果它很常见,但我找不到具体的答案。处理需要多行初始化的'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