C++ 使用 {} 而不是 () 进行函数调用
C++ using {} instead of () for function call
在 C++ 中,我看到了一个带有此签名的函数的功能库
DocumentReference::DocumentReference(model::ResourcePath path, std::shared_ptr<Firestore> firestore)
: firestore_{std::move(firestore)} {
// code here removed for https://whosebug.com/
}
但是库使用 {}
而不是 ()
调用函数。
return DocumentReference{
ResourcePath::FromString(document_path),
shared_from_this()
};
用 {}
而不是 ()
调用函数有什么区别?
What difference does calling a function with {} instead of () make?
在这种情况下没有区别。两者都只是初始化 DocumentReference
对象。
不过最好使用 {}
。
这不是“调用函数”。 DocumentReference::DocumentReference
是构造函数。构造对象的方法有很多种,{}
就是其中之一。参见
- Calling constructor with braces
- Why is list initialization (using curly braces) better than the alternatives?
在 C++ 中,我看到了一个带有此签名的函数的功能库
DocumentReference::DocumentReference(model::ResourcePath path, std::shared_ptr<Firestore> firestore)
: firestore_{std::move(firestore)} {
// code here removed for https://whosebug.com/
}
但是库使用 {}
而不是 ()
调用函数。
return DocumentReference{
ResourcePath::FromString(document_path),
shared_from_this()
};
用 {}
而不是 ()
调用函数有什么区别?
What difference does calling a function with {} instead of () make?
在这种情况下没有区别。两者都只是初始化 DocumentReference
对象。
不过最好使用 {}
。
这不是“调用函数”。 DocumentReference::DocumentReference
是构造函数。构造对象的方法有很多种,{}
就是其中之一。参见
- Calling constructor with braces
- Why is list initialization (using curly braces) better than the alternatives?