class Cell : public QTableWidgetItem
{
public:
Cell();
QTableWidgetItem *clone() const;
...
}
위의 내용은 Qt 프로그램의 클래스 정의입니다. 다음은 나머지 부분입니다. 왜 *이 유형에 & 사용할 수 있습니까?
이유 :
return new Cell(this);
그런 다음 Qt는 오류 메시지를 줄 것이다 : 나는 그것을 좋아하는 변경하는 경우
QTableWidgetItem *Cell::clone() const
{
return new Cell(*this);
}
내 질문은, 마지막 문장에 대해 무엇입니까? this
은 포인터이며 인수가 될 수 없다는 것을 알고 있습니다. *this
은 &
유형 일 수 있습니까?
'* this *'는 '셀'이기 때문에. 'Cell'을 실제 매개 변수로 전달하는 것은'CELL '을 그것의 형식적 매개 변수로 취하는 함수에 C++에서 완벽하게 잘하고 그 매개 변수를 참조로 전달할 것입니다. 참조 변수를 초기화하는 방법과 유사합니다. – Michael
좋은 설명 주셔서 감사합니다! –
@Michael 귀하의 훌륭한 의견은 "귀하의 답변"상자를 몇 인치 만 놓 쳤습니다. 다음 기회에! –