我对 C++ 很陌生,并且对那段代码有一点问题。我想在应该使用动态内存分配创建的数组的每个单元格中放入 1。我相信几个月前我用 malloc 在 c 中做了类似的事情。当我打印出结果(g++ Linux)时,它显示只有第一列(当我们将数组的每第十个单元格视为新列的开头时)填充了一个。其他的则作为记忆地址打印。
#include "stdafx.h"
#include <iostream>
class TestOfForVector {
public:
double* tabX;
double* tabY;
int n;
TestOfForVector(int getN){
n = getN;
tabY = new double[n*n];
//tabX = new double[n];
for(int i = 0; i < n; i ++ ){
for(int j = 0; j <n; j++){
tabY[j+i*n] = 1.0;
std::cout<<tabY[j+i*n]<<std::endl;
}
}
}
~TestOfForVector(){
delete [] tabX;
delete [] tabY;
}
};
int main(int argc, _TCHAR* argv[])
{
TestOfForVector newboy(10); //it will be defined by user input;
return 0;
}
对不起,可能是微不足道的问题,但我在互联网上找不到答案。最好的问候,卢卡斯!