2011-02-10 4 views
2

NULL은 .net nullptr과 같고 0은 .net nullptr과 같지 않다고 들었습니다. 왜? 나는 NULL이 0과 동일한 매크로라고 생각 했습니까?포인터와 .net 포인터

+0

@Cody가 있습니다. Nullptr은 C++/CLI 언어의 키워드로, C++ 0x보다 오래 사용되었습니다. –

+0

@Hans : 아, 그러지 마세요. –

답변

1

관리되지 않는 포인터 또는 관리되는 핸들에 관한 내용인지에 따라 다릅니다. 포인터에 관해서는 설명서의 따옴표 here :
다음 샘플에서는 nullptr과 0을 네이티브 포인터에서 서로 교환하여 사용할 수 있음을 보여줍니다. 관리되는 핸들에 대해 이야기하는 경우 같은 페이지에서이 인용에 설명 된대로

그러나, 당신은 0을 사용할 수 없습니다 : 당신은 제로에 대한 핸들을 초기화 할 수 없습니다
; nullptr 만 사용할 수 있습니다. 개체 핸들에 상수 0을 할당하면 boxed Int32와 Object^로의 캐스트가 생성됩니다.

+0

그래서 NULL과 0 사이에는 차이가 없습니까? –

+0

@lital : C++에 대해 이야기하고 있다고 가정 해 봅시다. –