我正在尝试创建一个动态数组或者你应该怎么调用它,使用指针,但是当我在设置元素后尝试计算数组的长度时,它给了我 0。我不确定我“这里做错了。”
代码如下:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int *p = NULL;
int kek = 0;
cin >> kek;
p = new int[kek];
for (int i = 0; i < kek; i++)
{
p[i] = 0;
}
int sizeOfArray = sizeof(p) / 8;
cout << sizeOfArray << endl;
delete[] p;
}
最佳答案
最好使用 STL vector ,它有 size() 方法
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> p;
int kek = 0;
cin >> kek;
p.resize(kek);
for (int i = 0; i < kek; i++)
{
p[i] = 0;
}
int sizeOfArray = p.size();
cout << sizeOfArray << endl;
p.clear();
return 0;
}
关于C++:使用动态内存创建动态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31147123/