Qt (및 C++ 전반)에 익숙하지 않아 포인터가 매우 약합니다. Object&
을 Object*
(Object
은 어떤 개체의 개체 임)로 변환해야합니다.Qt 및 C++ Obj를 Obj로 변환하는 방법 *
어떻게 조작합니까?
도움을 주시면 감사하겠습니다.
Qt (및 C++ 전반)에 익숙하지 않아 포인터가 매우 약합니다. Object&
을 Object*
(Object
은 어떤 개체의 개체 임)로 변환해야합니다.Qt 및 C++ Obj를 Obj로 변환하는 방법 *
어떻게 조작합니까?
도움을 주시면 감사하겠습니다.
Obj ob; <------- Object named ob of the type Obj
Obj *ptr = &ob; <------- Oointer named ptr to type Obj pointing to ob
Obj &ref = *ptr; <-------- Reference named ref referring to object of type Obj
Obj *ptr2 = &ref; <-------- Pointer named ptr2 to object aliased by ref
참조를 포인터로 변환 할 수 없으며, 참조를 참조하는 개체 인스턴스의 별칭 이름으로 참조를 사용하기 만하면됩니다. 따라서 원래 객체 인 것처럼 참조 된 객체의 주소를 가져옵니다.
포인터를 인수로 사용하고 전달한 참조가있는 경우 사용법은 실제 개체를 사용하는 것과 비슷합니다. 예를 들어
:
void doSomething(Obj *ptr);
Obj ob;
Obj *ptr = &ob;
Obj &ref = *ptr;
doSomething(&ob);
doSomething(ptr);
doSomething(&ref);
고마워, 그게 도움이! 얼마 전에 오류가 발생했지만 해결되었습니다. –
당신은 주소를-의 사용 사업자, 단지 일반 객체처럼.
SomeObject o;
SomeObject &ref = o;
SomeObject *ptr = &ref;
예, @als가 말한 것과 동일합니다. (이전에 게시 한 사람이 너일지도 모르지만 : D). –
어떤 맥락에서? 함수 호출에서? –
그것의 함수 정의에 있지만, 그럼에도 불구하고 일반적으로 묻습니다 –