[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. [C++] C++ Core Guidelines (C++ 핵심 가이드라인) - P.1 [Philosophy] P.1 코드에 생각을 직접적으로 표현해라 class Date{ public: Month month() cosnt; //do int month(); //don't }; int month()의 문제는 메소드를 사용하는 사람에게 추측을 남긴다. 그리고 Month mont()함수에 붙은 const 키워드를 통해 해당 함수는 객체의 상태를 변경하지 않는다는 것을 명시했다. // bad int index = -1; for(int i = 0 ; i < v.size(); ++i) { if(v[i] == val) { index = i ; break; } } // better auto p = find(begin(v), end(v), val); 잘 구현된 라이브러리가 있는 경우 그것을 사용하는 것이 .. 2022. 2. 20. 이전 1 다음