좀 '레거시'코드가 (내가 변경할 수는 없지만에 추가 할 필요가) :초기화 및 할당
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
은 사용되기 전에 할당되지 않습니다.) 이런 종류의 인터페이스에는 다른 치명적인 문제가 있습니까? 코드를 할 경우
나는 그것이 안전하지 않다고 느끼고이 문제를 다루는 표준에서 아무것도 찾을 수 없다는 것에 동의한다. 이런 식으로 된 이유가 있습니까? 그렇지 않다면, 나는 보통 당신이 그것을 바꿀 것을 제안 할 것이지만 당신은 할 수 없다고 말했기 때문에, 나는 그것으로 살아가는 것을 배우는 것의 단지 사례라고 생각합니다. : –