gpt4 book ai didi

c++ - c++ 中的对象创建类型有什么区别?

转载 作者:行者123 更新时间:2023-11-30 03:14:29 25 4
gpt4 key购买 nike

假设我有“A”类。我想通过两种不同的方式使用该类创建一个“a”对象,即:

A a();
A a = A();

它们有什么区别?

最佳答案

A a(); 不是变量声明,是函数声明。它声明了一个函数 a,它不接受任何参数并返回一个 A

A a = A();是变量声明和初始化。它声明了一个 A 类型的变量 a 并从通过显式调用 A 的默认构造函数创建的临时对象对其进行初始化。更简单的方法是 A a;(注意没有括号!),聪明的编译器可能会将 A a = A(); 优化成无论如何.如果要显式调用默认构造函数(如果存在),请使用大括号而不是圆括号:A a{};

关于c++ - c++ 中的对象创建类型有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57794592/

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