我不认为“到位”是正确的术语,但我缺乏一个更好的术语。
我有一个POD,让我们说:
struct My {
int a;
};
//and suppose a operator<< to stream is also defined
我可以这样使用它:
My my = {3};
std::cout << my << std::endl;
我想知道我是否可以在下面做同样的事情而不使用帮助器函数:
template <typename ANY>
My helper(ANY value) {
My r = {value};
return r;
}
std::cout << helper(3) << std::endl;
我正在寻找构造函数所做的相同的事情,但由于我有一个POD,我无法创建构造函数。
答案 0 :(得分:2)
你可以这样做:
struct My {
int a;
int b;
int c;
float d;
};
void somefunc() {
cout << (My){1, 2, 3, 4.5} << endl;
}