class A
{
int value_;
public:
A(int value):value_(value){}
};
A get_a1(int value)
{
return A(value);
}
A get_a2(int value)
{
return {value};
}
int main()
{
A a1 = get_a1(1);
A a2 = get_a2(2);
}
get_a1()
和get_a2()
之间有什么区别,如果有的话?
return {value};
如何调用?(我猜“通过花括号调用构造函数”不是正确的方式来引用它)
long value
,它可能会在get_a2
中警告你;或者如果A
有一个std::initializer_list
构造函数,get_a1
和get_a2
将使用不同的构造函数。 - François Andrieuxreturn value;
也可以。 - 463035818_is_not_a_number