gpt4 book ai didi

c++ - 如何在类中使用数组变量? C++

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:54:10 24 4
gpt4 key购买 nike

这是一个非常愚蠢的问题,但是这里...

我有一个包含这段代码的类(class):

class ArraySection {
public:
unsigned char *array;
int start, stop, k;
};

我想做的就是在我的主函数中创建这个类的一个实例。我正在尝试这样做(其中长度和 n 是预定义的):

ArraySection *ASarrayPrimes = nullptr;
ASarrayPrimes->array[length];
ASarrayPrimes->start = stop;
ASarrayPrimes->stop += length;
ASarrayPrimes->k = 0;

但我猜这不是正确的方法...?我们从来没有在类里面真正讲过这个。 (如果你想知道,我应该使用线程来并行化筛选算法来查找素数。)我正在尝试做的是获取大量数组,将其分解为更小的数组(使用此 ArraySection 创建教授给出的类(class)),然后让线程在这些单独的、较小的线程中寻找素数。

编辑:伙计们,我不能改变职业。我只能用教授给的东西工作。

最佳答案

您永远不会为您的对象分配任何内存。用 new 分配内存, 或者将其保存在堆栈中。

您可以使用任一选项在类中分配数组。

ArraySection *ASarrayPrimes = new ArraySection; // On the heap
ASarrayPrimes->array = new char[SIZE]; // New character array on the heap
delete [] ASarrayPrimes->array;
delete ASarrayPrimes; // Make sure you free the memory

ArraySection ASarrayPrimes; // On the stack
ASarrayPrimes.array = new char[SIZE]; // New character array on the heap

只需确保释放 array内存太!更安全的方法是使用 std::vector<char>或者确实。一个std::string而不是成员 char* array因为这些将为您处理分配/解除分配。

关于c++ - 如何在类中使用数组变量? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12433382/

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