作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在和我的教授一起研究性能测量软件的使用,她建议我编写一个示例程序,它只使用一些大循环来进行一些函数调用和浮点计算,以便掌握它。现在,它运行良好,直到达到 i = 110,j = 99000,此时它停止打印并且似乎挂起或暂停操作。我试过使用 fflush( stdout ),但没有任何区别。您对可能导致这种情况的原因有任何想法吗? (只需从命令行正常运行即可;使用的编译器是 g++。)
#include <iostream>
double arrayFill(double a, double b){
double c = (a+.5)*(b+.5);
return c;
}
double bigLoop(double val){
for (int i = 0; i < 20; ++i){
for (int j = 0; j < 20; ++j){
val += .5;
}
}
return val;
}
int main(int argc, char* argv[]){
double **bigArray = new double*[100];
for (int i = 0; i < 100000; ++i){
bigArray[i] = new double[10];
for (int j = 0; j < 100000; ++j){
double x = (double) i/1000;
double y = (double) j/1000;
bigArray[i%100][j%10]=arrayFill(x, y);
bigArray[i%100][j%10]=bigLoop(bigArray[i%100][j%10]);
if (j%1000 == 0){
std::cout << bigArray[i%100][j%10] << std::endl;
std::cout << "i = " << i << std::endl;
std::cout << "j = " << j << std::endl;
fflush( stdout );
}
}
}
return 0;
}
最佳答案
您正在使用无效索引访问 bigArray
。
您只为 bigArray 分配了 100 个元素。 bigArray[i] = ...
是 i >= 100 的未定义行为。在您的程序中,i
上升到 99999。
关于c++ - 使用大循环的测试程序似乎中途挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24541479/
我有一个 SKSpriteNode (monsterNode) 的子类。它使用矢量自动在屏幕上运行以跟随玩家。我目前正在使用以下操作使其运行: SKAction *actionMove = [SKAc
我是一名优秀的程序员,十分优秀!