2011-07-05 4 views
0

아래 코드에서 "a"및 "&a"에는 무엇이 포함되어 있습니까?C++ 클래스 인스턴스

class list{ 
}; 
int main(){ 
    list *a= new list(); 
    cout<<"\n Values:a="<<a<<" & &a="<<&a<<endl; 
    return 0; 
} 

답변

2

a은 힙에 할당 된 개체 목록에 대한 포인터입니다. 기본적으로 a에는 주소가 포함되어 있습니다 (알고있는 경우 포인터에 주소가 저장 됨). 그리고 &a에는 아무것도 포함되어 있지 않습니다. 실제로 수행하는 작업은 실제로 포인터의 주소를 가져 와서 인쇄하는 것입니다.

5

alist 유형의 객체에 대한 포인터이다.

&a은 포인터 a의 주소입니다.

1

a 오브젝트 당신 new 에디션에 대한 포인터를 포함하고 (C++ 말투에, 좌변) 객체가 아닌 이후 &a은 단지 표현을 아무것도 포함되어 있지 않습니다.

1

a 동적 freestore (더미)에 할당 유형 목록의 목적
&a 포인터의 주소에 대한 포인터이다.

2

alist 개체 (일반적으로 무료 저장소에 할당 됨)에 대한 포인터입니다. a의 내용은 변경 가능합니다.

&a은 주소가 a (여기서 a은 메모리 레이아웃에 있습니다)입니다. &a은 변경할 수 없습니다.

2

변수에 왼쪽으로 &을 쓰면이 변수의 주소가 표시됩니다. 이것은 본질적으로 메모리의 포션과 같은 것으로,이 변수는 저장됩니다.

a은 이미 포인터이기 때문에 &a은 포인터를 가리키는 포인터입니다.

예에서 alist의 메모리 주소를 숫자 값으로 포함합니다. &a은 메모리 주소를 포함하는 숫자 값이기도합니다. 포인터는 a이 저장됩니다.

관련 문제