일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 오블완
- 언리얼
- Smart Pointer
- implicit conversion
- UE4
- 게임
- more effective c++
- 영화 리뷰
- c++
- lua
- 반복자
- 다형성
- 예외
- 영화
- 암시적 변환
- 상속
- reference
- exception
- effective stl
- operator new
- 티스토리챌린지
- modern effective c++
- 비교 함수 객체
- resource management class
- 함수 객체
- Effective c++
- 스마트 포인터
- 참조자
- 메타테이블
- virtual function
- Today
- Total
목록modern effective c++ (3)
스토리텔링 개발자
항목 3. decltype의 작동 방식을 숙지하라 decltype주어진 이름이나 표현식의 타입을 알려준다.하지만 가끔 예상 밖의 결과를 제공하기도 한다.C++11에서는 함수의 리턴 타입을 매개변수 타입들로 추론해야 하는 함수 템플릿을 선언할 때 주로 사용한다. decltype의 예측할 수 있는 결과const int i = 0;// decltype(i) = const intbool f(const Widget& w);// decltype(w) = const Widget&// decltype(f) = bool(const Widget&)struct Point{ int x, y;};// decltype(Point::x) = int// decltype(Point::y) = intWidget w;//de..
항목 2. auto의 형식 연역 규칙을 숙지하라 auto와 template의 타입 추론한 가지 기이한 예외를 제외하면, auto 타입 추론이 곧 템플릿 타입 추론이다.// 템플릿 타입 추론// expr과 ParamType의 타입을 통해 T를 추론한다.templatevoid f(ParamType param);f(expr); // 함수 실행// auto 타입 추론// auto : T와 동일한 역할// 변수의 타입 지정자(type specifier) : ParamType과 동일한 역할// 각각 아래의 주석 코드의 템플릿 타입 추론과 동일하다.auto x = 27; // 타입 지정자 : auto// template// void func_for_x(T param);// func_for_x(27);const a..
항목 1. 템플릿 형식 연역 규칙을 숙지하라 auto의 타입 추론모던 C++의 강력한 기능 중 하나인 auto는 템플릿 타입 추론을 기반으로 작동한다.즉, C++98에서 템플릿 타입 추론에 만족했다면, auto 역시 만족할 것이다.하지만, auto는 템플릿에 비해 덜 직관적일 때가 왕왕 있다.그러므로 우선 템플릿 타입 추론 규직을 잘 짚어볼 필요가 있다. 템플릿의 타입 추론templatevoid f(ParamType param);f(expr); // 어떤 표현식으로 f를 호출컴파일러는 expr(표현식)을 이용해서 두 가지 타입을 추론한다.T 타입ParamType 타입위의 두 타입은 같을 수도 있지만, 보통은 다르다. 아래의 예제로 명확해진다.templatevoid f(const T& param);..