gpt4 book ai didi

c++ - 在Visual Studio Code中,为什么它会在类之外自动创建 “main::main and main::~main”?

转载 作者:行者123 更新时间:2023-12-02 10:19:26 27 4
gpt4 key购买 nike

因此,当使用“智能”时,当我想创建一个类时,它还会创建另外两个函数(不确定我是否正确调用了它们):

class main
{
private:
/* data */
public:
main(/* args */);
~main();
};

main::main(/* args */)
{
}

main::~main()
{
}

这是为什么?它们有什么用?“〜”按位NOT是否也有用?

最佳答案

这些是特殊的成员函数,一个用户定义的默认构造函数和一个用户定义的析构函数。

VS Code专门这样做是因为Microsoft公司代码样式要求始终在类中包含构造函数\析构函数。在较旧版本的编译器中,琐碎类的默认初始化从未是值(零)初始化(不符合标准)。 C++在规则中没有这样的要求,这使得类不是琐碎的\ POD。

像往常一样,他们的IDE只能完成一半的工作。对于这种方式,一个人需要定义五个功能,而不是两个,请参见“零规则”。

关于c++ - 在Visual Studio Code中,为什么它会在类之外自动创建 “main::main and main::~main”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60882302/

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