두 개의 double
(longitude
및 latitude
)이있는 CLLocationCoordinate2D
인 CLLocationCoordinate2D
를 반환하는 다음 함수가 있다고 가정 해 보겠습니다.Objective-C에서 반환 구조체는 정확히 어떻게 작동합니까?
기본적으로 다른 기본 형식과 마찬가지로이 struct
를 처리 할 수 있습니까 ? 예를 들어 위 코드에서 위의 함수를 다음과 같이 호출하면 다음과 같습니다.
CLLocationCoordinate2D houseCoord =
[someClassThatTheAboveFunctionIsDefinedIn getCoordinatesForHouse:myHouse];
함수에서 반환 된 값은 houseCoord
에 복사됩니다 (다른 기본 함수와 마찬가지로). CLLocationCoordinate2D
이 다른 곳에 파괴되는 것에 대해 걱정할 필요가 없습니까?
이것이 사실일지도 모르겠지만 분명히 나에게 분명해 보이지만, 나는 단지 확인이 필요하다.
예, 전에는 구조체가 일반적으로 작동하는 방식에 대해 더 궁금했습니다. 그들이 프리미티브와 똑같이 취급 될 수 있는지 여부 (물론 점을 찍고 다른 필드를 얻을 수있는 것을 제외하고). – Tim
예, 구조체 값은 프리미티브처럼 처리해야합니다. 어떤 경우에는 malloc과 free를 사용하여 수동 메모리 관리를 수행해야 할 수도 있지만이 경우에는 그렇지 않은 struct에 대한 포인터를 갖게됩니다. – titaniumdecoy
괜찮아. 고마워. 빠른 속행 : 구조체에 포인터가있을 수 있습니까? 포인터는 프리미티브인가? 그것은 포인터가 가리키는 점이 그것이 원시적이라고 여겨지는지 여부와 관계가 있습니까? – Tim