gpt4 book ai didi

C++ 私有(private)结构和非静态常量变量初始化

转载 作者:行者123 更新时间:2023-11-28 03:12:05 24 4
gpt4 key购买 nike

我完全失望了。我有课,那里有私有(private)结构。什么是愚蠢的问题:我不能预初始化一些变量!
我的意思是:
我需要:

struct someStruct
{
someStruct *next = NULL;
int number;
};

我只想创建简单的动态列表,从堆中添加新元素。
我应该怎么做?

struct someStruct
{
someStruct *next;
int number;
};

someStruct *newElement = new someStruct;
newElement.next = NULL;

每次?我可以忘记这个。
请帮我。因为当我需要添加 1 个无用的字符串时这不是问题。但是如果我有 50 个默认变量呢?

最佳答案

您不能在声明类成员时对其进行初始化。相反,您需要一个构造函数:

struct someStruct {
someStruct(): next(NULL), number(0) {}
someStruct *next;
int number;
};

或者,对于 POD (plain old data) ,您可以使用没有构造函数的原始类,并使用 someStruct *newElement = new someStruct(); 创建一个 someStruct。这会将成员初始化为零。

此外,C++11 支持 in-class member initializers .

关于C++ 私有(private)结构和非静态常量变量初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18162717/

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