*this
과 this
을 참조로 개체를 반환하는 템플릿 함수에서 반환하는 것의 차이점은 무엇입니까? 두 옵션 모두 VS2013에서 아무런 문제없이 컴파일됩니다.템플릿을 참조로 돌아 가기
코드는 *this
동안 MyQueue<T>*
에서 MyQueue<T>
에 대한 암시 적 캐스트가없는 한 그렇게 return this
작동하지해야 MyQueue<T>
입니다 유형 MyQueue<T>* const
이다
template <typename T>
class MyClass
{
public:
MyClass(){ }
~MyClass();
MyClass& operator=(const MyClass&);
};
template <typename T>
MyClass<T>& MyClass<T>::operator=(const MyClass& s_from)
{
//do some work
return *this;
//also works
//return this
}
template <typename T>
MyClass<T>::~MyClass()
{
}
'retun this;'컴파일해서는 안됩니다. 만약 그렇다면 [mcve]를 만드십시오. – nwp
컴파일됩니다. 그게 왜 묻는거야. –
템플릿을 인스턴스화하고 연산자 =를 사용하면 오류가 발생합니다. 내 대답을 참조 – AnatolyS