C++(3)
-
[C++]R-value Reference,move Sementics
R-value Reference,move Sementics C++ 에서는 R-value Reference 를 지원한다. 다음과 같이 &&기호를 이용하여 사용할 수 있다. #include using namespace std; void doSomething(int& lef) { cout
2021.02.20 -
[C++] Stack and Heap(feat. Memory Leak)
Stack and Heap 프로그램 실행시 컴퓨터가 내부에서 사용하는 메모리들중 Stack과 Heap이 있다. 이번에는 우리의 코드가 Stack과 Heap에 어떻게 들어가는지 알아보고 나아가 Memory leak 에대해 알아보겠다 기본구조 이처럼 코드가 메모리의 제일 아래에 있다 하면. 프로그램이 시작될때 .BSS - 초기화되지 않은 전역,Static변수들이 차지한다. .Data - 초기화된 전역,Stacic변수들이 차지한다. 그후, 프로그램이 실행되면서 Stack 과 Heap에 메모리를 쓰게 된다. Stack Stack 은 프로그램이의 코드들이 한줄씩 실행되면서 각각의 Scope, 그내부의 Local variable 이 들어오는 자리이다. ex) { }, functions, for{} while{} 제..
2021.02.11 -
[C++] Pointer vs Reference
Pointer vs Reference 보통 C 언어에서 변수를 가리킬땐 포인터를 사용 했다. C++ 에선 포인터 와 함께 레퍼런스(참조자) 라는 개념이 도입됬는데 그 둘의 특징과 차이점을 알아보자. Pointer 사용자가 접근하고 싶은 메모리의 주소를 담는 하나의 변수(Varilable) 이다. 그러므로 자기 자신의 주소를 가지고 있다. 어떤 자료형이든 고정된 크기를 가진다 32bit 시스템 - 4byte, 64bit 시스템 - 8byte de-reference operator를 이용하여 직접 적으로 가리키고 있는 메모리에 들어가 값을 다룰 수 있다. (* , 클래스나 구조체 에선 ->) Reference 사용자가 선언해둔 변수에 새로운 별명(aliance) 이다. 따로 de-refrence operat..
2021.02.11