C++ 中到底能不能返回结构体类型

2025-04-02 14:28:51
推荐回答(2个)
回答1:

可以,不过这样当结构体复杂后就会影响效率了,最好传递指针或引用,如果结构体里只有基本类型可以直接用,有类的对象就需要这个类支持拷贝和赋值构造

string 支持赋值和拷贝,如果结构体里有指针,就要特别注意深拷贝和浅拷贝的问题了

#include 
#include 
using namespace std;
struct A
{
int a;
};
struct B
{
string b;
};
struct A FuncA()
{
A aa;
aa.a=1;

return aa;
}
struct B FuncB()
{
B b;
b.b="b";

return b;
}
int main()
{
A a=FuncA();
B b=FuncB();
cout< cout< return 0;
}

回答2:

我上大学时, 学习的是不可以..
-------------------------------------------

但是现在几乎所有的答案是: 可以.
而且我试了我能接触到的所有编译器, 也是可以的.
另外 <<你应该知道的495个C语言问题>>里面明确指出. 可以.