gpt4 book ai didi

整数数组初始化的 C++ 指针

转载 作者:行者123 更新时间:2023-11-30 00:49:28 34 4
gpt4 key购买 nike

我想让一个类的所有函数都可以访问一个数组。

我将数组作为私有(private)变量放在头文件中。

    private:
int* arrayName;

在我实现类的 .cpp 文件中,构造函数接收一个 int 值(大小)并创建数组。目标是填满它

ClassName::ClassName(int numElements){
arrayName = new int[numElements]; //make arrays the size of numElements
for(int i = 0; i<numElements; i++)
arrayName[i] = 0;
}

我觉得这样效率很低。我知道你可以做 int array[5] = {0};但是当你最初不知道尺寸时你该怎么做。

最佳答案

如果你想对新数组进行零初始化,只需对其进行值初始化。这具有对其元素进行零初始化的效果:

arrayName = new int[numElements]();
// ^^

但你真的想使用 std::vector<int> .

private:
std::vector<int> vname;

ClassName::ClassName(int numElements) : vname(numElements) {}

这样您就不必担心删除数组和实现复制构造函数和赋值运算符。

关于整数数组初始化的 C++ 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28077070/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com