포인터

[Basic C++] #58_포인터, 배열과 포인터, 포인터 연산 C++의 "포인터"에 대해 알아보겠습니다. "전문가를 위한 C"의 22 항목, "효과적인 메모리 관리"에 해당하는 내용입니다. 포인터 개념 1. 포인터? 포인터는 단순히 메모리 위치를 계산하는 주 솟값입니다. 2. "*"를 활용한 역 참조 "*" 연산자를 활용하면 포인터를 역 참조할 수 있습니다. 여기서 역 참조란 단순히 포인터가 가리키는 메모리 주소에 들어있는 값을 가져올 수 있습니다. 3. "&"를 활용한 참조 "&" 연산자를 활용하면 어떤 값이 저장되어 있는 메모리의 주솟값을 가져옵니다. 보통 포인터 변수에 "&a" 값을 넣어줌으로써 "a"라는 변수의 메모리 주소 값을 넘겨줍니다. 배열과 포인터 1. 배열 == 포인터, but ALL..
#1. 개념 1. 참조에 의한 전달(Call-by-reference)void swap (int& first, int& second){ int tmp = first; first = second; second = tmp;}참조형은 변수의 별명으로, 특정 변수가 할당 받은 메모리 영역을 참조하며, 역참조 연산을 자동으로 수행하는 포인터입니다. 따라서, '참조에 의한 전달'은 함수 인자 전달 방식 중 하나로 함수 매개변수를 '참조형'으로 선언하여 활용 가능합니다. 참조에 의한 전달은 원본 면수가 가리키는 메모리 영역을 참조형 매개 변수로 하여금 공유하도록 하여, 본문에서 발생하는 변경 작업들이 원본 변수에 영향을 줍니다. 2. '값에 의한 전달'의 단점1. 비효율성: 큰 객체 혹은 struct를..
#1. 개념 1. 디폴트 인자 활용 가상 함수를 오버라이딩?class Super{protected: virtual void SomeFunc(int val = 3) { cout 만약, Super 유형의 포인터를 Sub 유형의 객체를 가리키고, 가상 함수를 호출할 경우, Sub 유형의 가상 함수가 호출됩니다. 하지만! 가상 함수가 '디폴트 인자'를 활용할 경우, 직접 코드에서 활용하는 포인터 혹은 참조의 유형이 어떠한 함수를 호출할 것인지 결정하는 요소가 됩니다.   #2. 코드 class Super{public: virtual void go(int i=2) { cout Super super;Sub sub;Super& superRefToSub = sub;super.go(); /..
[Basic C++] #7_클래스 상속 활용 방법 C++ 개발에서 상속을 통해 클래스를 생성하는 방법에 대해서 알아보겠습니다. "전문가를 위한 C"의 9 항목, "클래스 상속 활용 테크닉"에 해당하는 내용입니다. 상속 // Parent Class 정의 class Super { public: Super(); ~Super(); void SomeMethod_1(); protected: int mProtectedInt; private: int mPrivateInt; }; // Child Class 정의 class Sub : public Super { public: Sub(); void SomeMethod_2(); }; 서브 클래스, 혹은 자식 클래스는 부모 클래스와 "is-a" 관계를 형성합니다. "is-a" ..
Hardii2
'포인터' 태그의 글 목록