본문 바로가기
반응형

개념6

[C++] 참조자 개념 (2) const 참조자와 참조형을 반환하는 함수 const 참조자 const int num = 1; // 상수화된 변수 int &ref = num; // Compile Error! const int num = 1; const int &ref = num; // 가능 일반 참조자는 상수화된 변수를 참조할 수 없다. 이는 상수화되었다면 어떠한 방법을 사용하든 값의 변경이 허용되지 않기 때문이다. 하지만 const 참조자는 상수화된 변수를 참조할 수 있다. const 키워드를 붙이는 것은 참조자를 통한 값의 변경을 진행하지 않을 것이라는 의미이기 때문이다. const int &ref = 1; // 리터럴 상수 참조 가능 프로그램 상 표현되는 숫자를 가르켜 리터럴 상수라고 한다. 리터럴 상수는 임시로 존재하는 값으로 다음 행으로 넘어가면 소멸한다. 이러한 상수.. 2022. 9. 30.
[C#] 클래스의 메모리 할당 (Stack, Heap) 아래의 내용을 이해하기 위해서는 메모리의 구조에 대해 알고있어야 한다. [개념] 메모리의 구조 메모리 구조 코드(Code) 영역 프로그램의 코드가 저장되는 영역, CPU는 코드 영역에 저장된 명령을 하나씩 처리한다. 데이터(data) 영역 전역 변수와 정적 변수가 저장되는 영역 힙(heap) 영역 사용자 bumukisbest.tistory.com 객체지향의 클래스와 객체 그리고 인스턴스 객체(object) 실생활에서 우리가 인식할 수 있는 사물, 속성과 기능을 갖는 프로그램의 단위 객체지향 프로그래밍(OOP, Object-Oriented Programming) 객체의 속성과 기능을 구체화하는 형태의 프로그래밍 모든 데이터를 객체(object)로 취급한다. 클래스(Class) 객체 지향 프로그래밍에서 유사.. 2022. 9. 20.
[개념] 메모리의 구조 메모리 구조 코드(Code) 영역 프로그램의 코드가 저장되는 영역, CPU는 코드 영역에 저장된 명령을 하나씩 처리한다. 데이터(data) 영역 전역 변수와 정적 변수가 저장되는 영역 힙(heap) 영역 사용자 정의에 의해 할당/해제되는 영역 동적 메모리 영역으로 데이터를 찾기 위해서는 주소 값이 필요하다. 메모리의 낮은 주소에서 높은 주소 방향으로 할당되는 FIFO(선입선출, First in First out) 방식 * 힙 오버플로우 (Heap Overflow) : 메모리 공간이 부족하여, 힙이 스택 공간을 침범하는 경우 스택(stack) 영역 프로그램이 자동으로 사용하는 임시 메모리 영역 정적인 메모리 영역으로 스택 알고리즘을 통해 데이터를 찾을 수 있다. 지역변수, 매개변수가 저장되는 영역으로 코드.. 2022. 9. 20.
[C++] 참조자 개념 (1) 참조자와 Call-by-reference 참조자(Reference) 변수란 할당된 메모리 공간에 붙여진 이름이다. 우리는 그 이름을 통해 해당 메모리 공간에 접근이 가능하다. C++에서는 참조자를 통해 변수에 이름을 둘 이상 부여할수있다. 단순하게 말하자면 변수에 별칭을 붙여줄 수 있는 것이다. 참조자를 선언하기 위해서는 &연산자를 사용해야한다. C에서의 &연산자는 변수의 주소 값을 반환하지만, C++에서는 조건에 따라 변수의 주소 값을 반환하기도 하고 참조자의 선언을 하기도 한다. int num1 = 10; int *ptr = &num1; // num1의 주소 값을 반환해 포인터에 저장 int &ref = num1; // num1에 대한 참조자 선언 참조자는 기존 변수와 같은 메모리 공간을 참조한다. 따라서 주소 값 또한 기존 변수와 동일하다.. 2022. 9. 20.
반응형