我有一些看起来像这样的“遗留”代码(我无法更改,但需要添加):
template<typename T> T Foo(T& target)
{
//Assign to 'target', but never read from it before that.
//Also, 'target' is going to be a POD-type.
target = T();
return target;
}
int main()
{
float value = Foo(value);
}
这感觉不安全(即确保target
在使用之前从未分配过),这种接口是否存在任何其他潜在的致命问题?