2014-05-23 2 views
-2

저는 C# 환경에 익숙하지 않아 잠시 동안 C++로 코딩했습니다. C#에서 포인터를 정확히 사용하는 위치는 어디입니까? C#에서 포인터를 사용하는 것이 좋습니다?C#에서 포인터는 어디에 사용됩니까?

+4

http://programmers.stackexchange.com/questions/24583/any-real-use-of-pointers-in-c –

답변

4

포인터는 사용할 수 있지만 "안전하지 않은"모드에서만 사용할 수 있습니다. 일반적인 C# 코딩에서는 사용하지 않습니다.

모든 클래스는 Object에서 상속되며 "참조"유형이라고합니다. 이러한 유형은 참조에 의해 전달되며, 주로 후드 아래의 포인터이며 프로그래머의 주소와 같은 세부 정보는 숨 깁니다.

이들은 "포인터"이지만 C#의 모든 항목이 가비지 수집되고 개체 자체가있는 것처럼 액세스합니다 (아니요 -> 연산자).

int, doublechar과 같은 유형은 값 유형으로 전달됩니다 (C++ 에서처럼). 참조로 전달할 수도 있지만 함수를 호출 할 때는 의 함수에 ref 키워드를 사용해야합니다.

struct은 "값"유형 인 다른 특별한 경우입니다. MSDN

+0

구조체는 어떻습니까? 가치로 전달됩니까? – user2495173

+1

@JonathonReinhart, 그것은 제가 준 것보다 훨씬 더 나은 설명입니다. 감사! 나는 그것을 사용하기 위해 나의 대답을 편집했다. – BradleyDotNET

+0

@ user2495173, 구조체는 값 유형이며이를 포함하도록 편집됩니다. – BradleyDotNET

3

실제로 C#에서 포인터를 사용할 수있는 유일한 장소는 안전하지 않은 코드 영역으로 일반적으로 싫은 부분에 있습니다. 나머지 시간에는 런타임이 메모리를 관리합니다.