C에서 참조 또는 포인터로 함수에 인수를 전달하는 것은 함수 범위 외부의 실제 값을 수정하는 일반적인 방법입니다. . 그러나 언제 사용해야 하는지 이해하면 혼란스러울 수 있습니다.
참조로 전달
참조로 전달하면 원래 변수에 직접 액세스하고 수정할 수 있습니다. 다음 용도로 유용합니다.
포인터로 전달
포인터로 전달하면 포인터를 통해 변수에 간접적으로 액세스할 수 있습니다. 다음과 같은 경우에 필요합니다:
우수 사례
일반적인 지침으로 다음을 사용하는 것이 좋습니다. 참조하는 경우:
포인터를 사용하는 경우:
예
다음 스니펫은 참조를 사용하여 대형 객체를 전달하는 일반적인 시나리오를 보여줍니다.
void foo(std::string& s) { s += "suffix"; }
이 경우 함수가 새 문자열 객체를 생성하는 데 필요한 경우 포인터로 전달하는 것이 적합합니다.
void foo(std::string* s) { *s = "new string"; // Deallocates the old string }
드물지만 값으로 전달하는 것도 적절할 수 있습니다. 작은 불변 객체(예: 기본 유형)를 복사할 때는 문제가 되지 않습니다.
위 내용은 C에서 참조와 포인터를 언제 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!