"포인터"는 "Int"의 주소를 보유합니다. 나는 참고로 내 주어진 클래스에 해당 주소를 전달하려는 :C++에서 참조로 클래스에 주소를 전달하고 "자식 클래스"에
class N {
public:
N(int &pPointer){
std::cout << "Address: " << &(pPointer) <<" \n";
}
};
class M {
public:
M(int &pPointer):n(pPointer) {
std::cout << "Address: " << &pPointer <<" \n";
}
private:
N n;
};
int main() {
int Int = 5;
int *pointer = ∬
std::cout << "Address: " << pointer <<" \n";
M m(*pointer);
return 0;
}
이 좋습니다 (나는 종류의 역 참조 포인터에 대한 참조를 사용하고 있기 때문에)? 아니면 절대적으로 끔찍한가요? 단순히 포인터를 여기에서 피하고 싶습니다. (처음에는 "* pointer"를 사용해야 만합니다.)
왜 처음에는'* pointer'를 사용해야합니까? 왜 그냥'M m (Int);를 사용하지 않을까요? –
좋은 질문입니다! 내 프로젝트에서 일부 렌더링 기능에 "전역"화면을 전달하고 싶습니다. 화면은 SDL_Surface에 대한 포인터 여야합니다. 왜냐하면 초기 함수 SDL_SetVideoMode가 SDL_Surface에 대한 포인터를 반환하기 때문입니다. 여기를보십시오 : http://www.libsdl.org/docs/html/sdlsetvideomode.html – user1511417