声明变量的最佳位置在哪里?

Dum*_*adu 0 c++ variable-declaration

我正在尝试用C++优化我已经实现的程序,并且想到了一个问题......如果我有一个使用它的重复结构,我应该在哪里声明一个变量?

例如:

//1-> int sum;
int matrix[10][10];

for(int i = 0; i < n; i++){
    //1-> sum=0;
    //2-> int sum=0;
    for(int j = 0; j < n; j++)
        sum += matrix[i][j];

    printf("%d ", sum);
}
Run Code Online (Sandbox Code Playgroud)

哪个更好/推荐?我应该在重复结构之外的开头// - > 1声明它,或者如果在每次迭代时重新声明// - > 2则没问题吗?我的猜测是声明需要很短的时间(毫秒或更短),但是如果你在一个足够大的重复结构(或在多个结构内)重新声明它,每次重新声明都会增加一些额外的时间.

Pet*_*ker 5

对于一个int它没关系.对于具有非平凡构造函数或析构函数的类型,在方案2下,它将在每次通过外循环时被构造和销毁,这可能是耗时的.