C ++에서 참조로 호출을 구현하는 방법



이 기사에서는 구현이 포함 된 C ++의 참조로 호출에 대한 자세한 지식과 이것이 값으로 호출과 어떻게 다른지 설명합니다.

둘 다 서로 수많은 개념을 공유하기 때문에 이미 C에 대한 배경 지식이 있다면 C ++로 작업하는 것은 어려운 작업이 아닙니다. 그러나 C ++에는 C 패러다임의 일부가 아닌 몇 가지 개념이 있습니다. 이 C ++의 참조에 의한 호출 기사에서는 다음과 같은 순서로 참조 변수 및 해당 응용 프로그램이라는 개념에 대해 설명합니다.

참조 변수

C ++는 새로운 유형의 변수, 즉 참조 변수를 제공합니다. 참조 변수를 원래 변수의 별명으로 생각할 수 있습니다. 이것이 바로 한 줄에있는 참조 변수의 정확한 기능입니다.





예를 들어, 귀하의 이름이 Harrison이지만 집에서는 가족이 귀하를 Harry라고 부릅니다. 이제 참조 변수에 대해 자세히 살펴 보겠습니다. 이러한 유형의 변수의 선언과 사용은 우리가 사용하는 일반적인 변수와 다르지만 포인터 변수와 매우 유사합니다.

통사론:



int Hello = 1 int * ptr int & World = 안녕하세요

값 '1'을 포함하는 변수 'Hello'를 생성 할 때 메모리 세그먼트를 사용하여 값 '1'에이 세그먼트의 이름이 'Hello'가되고이 세그먼트의 주소는 16 진수 값이됩니다.0x64 우리가 쓸 때int& World = 안녕하세요같은 메모리 위치를 가리키는 'World'변수가 생성됩니다.

자바에서 형변환하는 방법

World ++ 줄을 포함하면 주소 0x64가 변경됩니다. 이는 변수 'Hello'의 값도 변경됨을 의미합니다. 어떤 사람들은 어떻게 이 게시물의 후반부에서 논의 할 포인터 변수와 다른 참조 변수입니다.

C ++에서 값으로 호출 및 참조로 호출

가치로 부르기 : Call by Value는 널리 사용되는 방법입니다. 대부분의 경우 변수의 원래 값이 변경되는 것을 원하지 않으므로 값별 호출 방식을 사용합니다. 따라서 우리는 함수를 호출하기 위해 call by value 메소드를 사용했으며 변수의 값만 전달됩니다. 이것은 메모리에 더미 변수를 생성함으로써 달성됩니다.



#include using namespace std void add (int a, int b) {a = a + 10 b = b + 10 cout<<'Value of a = '<  C ++에서 값으로 호출

위 이미지에서 add () 함수를 호출하자마자 x 및 y 변수의 값이 변수 a와 b에 복사되는 것을 볼 수 있습니다. A와 b는 더미 변수입니다.

참조로 전화 : 이제 참조 메서드에 의한 호출에 대해 이야기하겠습니다. 이 메서드에서는 별도의 더미 변수가 생성되지 않고 이미 존재하는 변수의 참조가 메서드에 전달됩니다. 이 참조는 동일한 메모리 위치를 가리 키므로 별도의 복사본이 메모리에 만들어지지 않습니다. 여기서 주목해야 할 중요한 점은 참조 변수의 변경 사항이 더미 변수에 반영된다는 것입니다.

#include using namespace std void add (int & a, int & b) {a = a + 10 b = b + 10 cout<<'Value of a = '< int & min (int & a, int & b) {if (a 

위의 함수는 반환 유형이 'int &'이기 때문에 일반 함수와 다르게 보입니다. 이 함수는 조건에 따라 a 또는 b에 대한 참조를 반환합니다. 여기서 주목해야 할 중요한 점은반환되지 않습니다.

함수 min (x, y) = 10을 호출하면 10이 x에 최소값이면 y에 할당되고 y가 최소값이면 y에 할당됩니다.

참조 대 포인터로 호출

모든 예제에서 참조 변수는 NULL이 될 수 없지만 포인터 변수는 NULL이 될 수 있고 예기치 않은 오류가 발생할 수 있으므로 생성 한 참조 변수에 항상 값을 할당하는 것을 보았습니다.

비주얼 스튜디오 배우는 방법

참조 변수는 다시 할당 할 수 없지만 포인터 변수는 나중에 프로그램에서 다른 변수를 가리킬 수 있습니다.

포인터 변수는 특정 변수의 주소 값을 보유하지만 참조 변수의 주소는 참조하는 변수의 주소와 동일합니다.

이것으로, 우리는 C ++의 참조에 의한 호출 기사를 끝맺습니다. Value 및 reference에 의한 호출의 다양한 구현과 둘 다 어떻게 다른지 이해하시기 바랍니다.

자세한 내용은 다음을 확인하십시오. 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 제공합니다. Edureka의 Java J2EE 및 SOA 교육 및 인증 과정은 Hibernate & Spring과 같은 다양한 Java 프레임 워크와 함께 핵심 및 고급 Java 개념 모두에 대해 교육하도록 설계되었습니다.

질문이 있으십니까? 이 블로그의 댓글 섹션에 언급 해 주시면 가능한 한 빨리 답변을 드리겠습니다.