일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- std::async
- 참조자
- effective modern c++
- more effective c++
- exception
- universal reference
- 티스토리챌린지
- 영화 리뷰
- c++
- UE4
- 게임
- operator new
- effective stl
- 상속
- 영화
- lua
- 예외
- 암시적 변환
- 스마트 포인터
- 언리얼
- implicit conversion
- resource management class
- iterator
- Effective c++
- 오블완
- 보편 참조
- reference
- 반복자
- Smart Pointer
- virtual function
Archives
- Today
- Total
스토리텔링 개발자
[Effective C++] 53. 컴파일러 경고 문제 본문
728x90
항목 53 : 컴파일러 경고를 지나치지 말자
컴파일러 경고의 예시
class B
{
public:
virtual void f() const;
};
class D : public B
{
public:
virtual void f(); // const가 아니라서 이름 가려짐
};
// 아마도 아래와 같은 경고가 나올 것이다.
// warning: D::f() hides virtual B::f()
- 경고는 f 함수가 재선언된 것이 아니라, 이름이 아예 가려진다는 사실을 알려주고 있다.(항목 33 참조)
- 경고를 읽지 않고 지나치면 오버라이드 되지 않은 상황이 언젠가 버그가 되어 돌아올지도..
결론
- 어떤 경고 메시지를 없애기 전에, 그 경고의 의미를 정확히 파악하자.
- 경고 메시지를 없애는 데 급급하다 보면 정말 수정해야 하는 부분을 수정하지 않고 넘어가버릴 수 있다.
- 컴파일러 경고는 제작사의 고유 선택에 따라 달라지는 것이므로 컴파일러 의존적이다.
- 그러므로 컴파일러만 믿고 생각 없이 코드를 짜지 말자.
728x90
'Effective C++ > Effective C++' 카테고리의 다른 글
[Effective C++] 55. 부스트 라이브러리 (0) | 2024.07.30 |
---|---|
[Effective C++] 54. 모던 C++ 기능 (0) | 2024.07.29 |
[Effective C++] 52. 위치지정 new / delete (0) | 2024.07.26 |
[Effective C++] 51. operator new / delete 커스텀 관례 (0) | 2024.07.25 |
[Effective C++] 50. operator new / delete는 언제 커스텀해야 할까? (2) | 2024.07.24 |
Comments