C++问题,高手请进!!

来源:百度知道 编辑:UC知道 时间:2024/07/07 00:33:13
有一个数组a[],每次运算时都会用到它各元素的初始值,但在运算中会改变它的一些元素值,所以想在每次运算时用它的"副本",通常是再开个数组b[],将a[] 每个值都给它,然后用b[]来运算.但这要一个一个赋值,太慢.

但有没有更快的方法呢?比如#define,const,或者指针什么的??
问题也就是说,有没有什么快速的方法使每次运算之前a[]都回到初始值.(在运算时会改变a[]元素的值)

如果数组不大的话,拷一个副本应该是最快的了...

或许我可以给你个欺骗视听的代码,比如这样:

for(int i = 0; i < 10; ++i) // 执行10次
{
int a[] = {1,2,3}; // 每次都还原为初始值
... // 对a执行操作
}

这样的话,执行N次重复了N * sizeof(a)/sizeof(a[0])次赋值,不需要数组B,但循环结束数组a就报废了。说白点这样做仅仅是编译器为你生成了每次赋值给b数组的代码,而不需要你自己多写一个循环:
for(i = 0; i < xxx; ++i) b[i] = a[i];
...

用指针,深引用.

建立一个数组B[]不就可以了