ONRECU
article thumbnail
[C++] Global, Static 키워드 이해
C++ 2022. 12. 30. 15:40

헷갈리는 지점이 있어 (1) Global과 Static, (2) Static과 Virtual 두 가지로 나눠서 공부해 본다. 사실 내 업무 상 Global을 평상시에 쓰는 경우는 전혀 없다고 봐도 무방한데, 그래도 가끔 헷갈려서 정리해 봄. Global과 Static 공통점 프로그램이 죽을 때까지의 라이프사이클을 가진다. 초기화하지 않으면 .bss 메모리에 자동으로 0으로 초기화되어 올라간다. (이후 추가 설명 예정) 초기화도 진행하고, 이후에도 사용하는 경우 .data 메모리에 올라간다. 수식이나 함수에 의해 초기화 된 경우에는 .bss로 올라간다. .data 메모리는 순혈주의적인(..) 방법으로 초기화 된 경우에만 올라가는 영역. 차이점 사용할 수 있는 scope이 다르다. Global 변수의 경우 ..

article thumbnail
[C++] 람다식 (Lambda Expression) 만드는 순서 암기용
C++ 2022. 12. 25. 00:20

코드 내에서 이름이 없는 함수를 만들어서 사용하는 람다식 (Lambda Expression), 하지만 만들 때마다 헷갈린다. 그런 이유로 만드는 순서를 암기용으로 간단히 적어보았다. 생각보다 빈번하게 등장하고, 사용할 일이 종종 있는데 괄호 투성이라 맨날 헷갈리기 때문이다. 반환 타입과 함수 이름을 지운다. 지운 자리에 []를 넣는다. 맨 끝에 함수인자를 붙여준다. 해당 형태만 만들었으면 더 고민할 것 없이 원하는 Capture 형식을 넣거나 등의 작업을 해 주면 된다.

article thumbnail
[C++] STL 컨테이너(Container), 반복자(Iterator), 알고리즘(Algorithm)
C++ 2022. 12. 23. 15:34

STL이란 Standard Template Library의 약자로, 자료구조를 따로 구현하지 않아도 사용할 수 있도록 만든 편의용 라이브러리다. 매우 편하고 방대하기 때문에 없어서는 안 될 귀중한 존재이다. 양이 매우 많아 모두 다룰 수 없으므로 자주 사용하는 몇 가지만 정리한다. 표준 STL은 std namespace 내에 존재하므로 사용 시 명시해주어야 한다. STL이 제공해주는 기능은 대략적으로 다음과 같다. 자료구조 : List, Stack, Queue, Tree, Hash 등 알고리즘 : Sort, Binary tree, Heap opration 등 기타 유틸리티(날짜, 시간), Thread, Concurrency 등 STL의 중요 요소 중 컨테이너 / 반복자 / 알고리즘에 대해 간단히 정리한다..