목록언어/Effective Mordern C++ (4)
배고픈 개발자 이야기
Effective Modern 이펙티브 모던 C++ 차례 1장. 형식 연역 2장. auto 3장. 현대적 C++ 적응하기 4장. 스마트 포인터 5장. 오른값 참조, 이동 의미론, 완벽 전달 6장. 람다 표현식 7장. 동시성 API 8장. 다듬기 Item 3: decltype의 작동 방식을 숙지하라 기억해 둘 사항들 - decltype은 항상 변수나 표현식의 형식을 아무 수정 없이 보고한다. - decltype은 형식이 T이고 이름이 아닌 왼값 표현식에 대해서는 항상 T& 형식을 보고한다. - C++14는 decltype(auto)를 지원한다. decltype(auto)는 auto처럼 초기치로부터 형식을 연역하지만, 그 형식 연역 과정에서 decltype의 규칙들을 적용한다. [C++ korea] effe..
Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 Meyers, Scott Item 2 : Understand auto type deduction auto 타입 추론 = 템플릿 타입 추론 (Direct Mapping) template void f(ParamType param); f(expr); // call f with some expression auto x = 27; const auto cx = x; const auto& rx = x auto = 템플릿의 T역할, 타입 지정자 = ParamType 역할 template // conceptual template for void func_for_x(T param); ..
Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 Meyers, Scott Chapter 1 : 형식 연역 (type deduction) C++98에서는 형식 연역(type deduction)에 관한 규칙들이 한 종류밖에 없었는데, 바로 템플릿에 대한 것이었다. C++11에서는 그 규칙 집합을 조금 수정하고 새로운 규칙 집합을 두 개 더 추가했다. 하나는 auto를 위한 규칙들이고 또 하나는 decltype을 위한 규칙들이다. C++14에서는 auto와 decltype을 사용할 수 있는 문맥들이 확장되었다. 형식 연역의 적용 범위가 늘어난 덕분에, 이제는 자명한 또는 이미 언급된 형식들을 여러 번 일일이 지정해야 하..
C++11을 처음 접하고, 뭐 좀 바뀌긴 했지만 그래도 C++이겠지 라고 생각했을 것이나, 배울수록 변화의 폭에 놀랐을 것이다. auto선언, 범위 기반 for 루프, 람다 표현식, 오른값 참조는 C++의 겉모습을 바꾸었다. 새로운 동시성 기능들 역시 마찬가지이다. 게다가 관용구적인 변화도 있다. 0과 typedef이 물러나고, nullptr과 별칭 선언이 등장했다. 이제는 열거형에 범위가 적용되며, 내장 포인터보다 똑똑한 포인터가 선호된다. 대체로 객체를 이동하는 것이 복사하는 것 보다 낫다. C++14는 말할 것도 없이, C++11만으로도 새 기능을 효과적으로 사용하려면 배울 것이 많다. 정확하고, 효율적이며 유지보수하기 좋은, 그리고 이식성 있는 소프트웨어를 만들기 위해 기능을 어떻게 사용해야 하는..