C++循环体内 变量声明问题
引用我一个冒泡排序的例子
----------------------------------------
void bubble_sort(seqList R) //冒泡排序算法
{
for(int i=1;i<max_elem;i++)
{
bool exchange = false;
for (int j = max_elem - 1;j>=i;j-- )
if(R[j + 1].key < R[j].key) //交换记录
{
R[0] = R[j+1];
R[j+1] = R[j];
R[j] = R[0];
exchange = true;
}
if(!ecchange) return;
}
}
--------------------------------------------------
在for循环体内有一个
bool exchange = false;
是不是在每次循环时都生成一个exchange呢,
然后循环完再delete吗?
那么这样一来效率不是太低了吗?
不如在程序开始直接声明一个。
我的意思是问在C++中,循环体内的变量声明
是不是每次循环时都是系统new来的?
还是早就在循环执行前就预分配好了。