2012-02-23 2 views
0

현재 iphone 응용 프로그램 개발을 시작합니다. 나는 몇 가지 튜토리얼과 책에 갔다 후 그래서, 난 다시 내 C 지식을 검색 할 수 있고, 내가 뭔가를 발견Objective-C의 별표 *와 다른

(잘되지 않은 두 번 다시 콜라주에서 F있어)

1. MyClass* myInstance 
2. MyClass *myInstance 
3. (MyClass *)myInstance 

내가 아는 한, 그것들 모두는 포인터이다 (오해하지 않는다면). 그러나 각각의 차이점은 무엇입니까? 또는 그들은 단지 동일하지만 다른 방식으로 정의됩니다.

+0

http://stackoverflow.com/questions/9393699/c-strings-and-pointers 오브젝티브 C에서 별표 여기서 배치 –

+0

중복 가능성 ] (http://stackoverflow.com/questions/1105815/placement-of-the-asterisk-in-objective-c) –

답변

4

선호하는 스타일에 따라 다릅니다.

은 메서드 선언 또는 캐스팅 구문 (thanks rob mayoff) 일 수 있습니다.

메소드 선언 : https://stackoverflow.com/a/683290/187954

주조 : https://stackoverflow.com/a/690760/187954

+1

# 3도 캐스팅 구문입니다. –

+0

1 및 2 설명에 감사드립니다. 그러나, 메서드에 대한 입력 인 세 번째 것은 또한 포인터라는 것을 의미합니까? –

+2

예, 포인터입니다. Objective-C 객체는 명시 적 참조 (포인터 사용)를 통해 전달되며 값으로는 절대 전달되지 않습니다. –