본문 바로가기
[C++] 문자열의 거의 모든 것 새로 작성하기 보다 아래 링크의 글을 여러번 보면 문자열에 대해 파악이 가능함 https://modoocode.com/292 씹어먹는 C++ - modoocode.com 2022. 5. 12.
[C++] 표준 자료구조(컨테이너) vector, list, deque(queue) 평상시에 자주 사용하지만 필요한 로직에 따라서 구분하여 사용했다. stack 구조가 필요한 경우 vector queue 구조가 필요한 경우 queue 또는 deque list 구조가 필요한 경우 list 삽입, 삭제, 읽기만 사용시에는 문제가 없을 수 있지만 큰 데이터의 정렬, 중간에 삽입, 복사 등의 작업을 수행하는 경우 어떤 컨테이너가 성능이 좋은지 궁금하여 관련한 내용을 찾아 보았다. Vector dynamic array과 같은 동작으로 하는 컨테이너로 동적 사이즈의 배열을 사용하고자 할때 사용 또한 삽입/삭제 메서드로 push_back(), pop_back()으로 stack 구조(FILO)를 연상시켜 stack 구조가 필요할때 주로 사용 특징으로는 새로운 요소들이 삽입될 때 사이즈를 확장하기 위해.. 2022. 5. 12.
[C++] const vs constexpr | 상수 선언하기 기존에 상수를 선언하는 방법은 const 키워드를 사용하는 것이었다. 또는 #define 키워드를 활용하여 정의하였다. 하지만 constexpr 키워드가 C++11에 처음 소개되고 C++14에서 향상되었다. const와 consetexpr 그리고 #define에 대해서 알아보고 차이점을 설명한다. const - constexpr 공통점 두가지 키워드로 선언된 변수는 값을 변경할 수 없다. const - constexpr 차이점 const : 컴파일 타임 또는 런타임에 값이 정의되어야함 constexpr : 컴파일 타임에 값이 정의되어 있어야 함 const kMY_MAX = 1000// ok const kMY_MIN = 100// ok void myFoo(int n) { const kMY_NUMBER = .. 2022. 5. 11.
[C++] C++ Core Guidelines (C++ 핵심 가이드라인) - P.2, P.3 [Philosophy] P.2 ISO 표준 C++ 사용해라 단, 일부 환경에서는 표준 C++ feature 사용이 제한되는 경우가 있다. (예) 항공기 제어 SW 의 경우 동적할당을 피하는 것을 권고하고 있다. P.3 의도를 표현해라 // bad case gsl::index i = 0; while( i < v.size()) { // ... do something with v[i] ... } // better case for(const auto& x : v) { ∕* do something with the value of x *∕ } for(auto& x : v) { ∕* do something with the value of x *∕ } bad case 이유1 v의 element를 활용하겠다는 의도가 없.. 2022. 2. 22.