the Infinite Skills "Advanced C++ Programming Training Video"에서 함수 템플릿에 대한 섹션에서 발표자는 해당 함수에 인수를 전달하는 동안 값에 따라 값을 전달하지 않고 참조로 전달해야한다고 말했습니다. 컴파일러에서 우리에게 "힘든 시간"을줍니다. 나는 이것이 무엇 일 수 있는지 전혀 모른다. 이 함수는 두 개의 인수 중 최대 값을 계산하고이를 반환합니다. 두 가지 기능은 다음과 같습니다.템플릿 : 템플릿의 인수를 인수로 전달
// The function given in the tutorial
T maxVal(T &a1, T &a2)
{
if(a1<a2)
return a1;
else
return a2;
}
// My function
T maxVal(T a1, T a2)
{
if(a1<a2)
return a1;
else
return a2;
}
문제는 두 가지 모두 정상적으로 작동하는 것입니다. 가능한 "어려움"이 무엇인지 알려줌으로써 나를 도울 수 있습니까?
아마도 불필요한 복사 (당신이 임시직을 수락하지 않습니다 표시했습니다과 const를 참조해야 첫 번째하지만). – chris
일시적으로 통과하면 첫 번째 예제로 어려울 수 있습니다. 이것은 튜토리얼이 좋지 않다는 결론을 내리게한다. – juanchopanza
자습서는 비밀입니까? –