[ Effective C++ ] 정리 모음집
" C++ 프로그래머의 필독서, 스콧 마이어스의 Effective C++ 를 읽고 내용 요약 / 정리 "
" 어떤 경고 메시지를 없애기 전에, 그 경고가 여러분에게 알리려는 바를 정확히 이해하자! "
- 컴파일러 경고를 쉽게 지나치지 말자! 컴파일러에서 지원하는 최고 경고 수준에도 경고 메시지를 내지 않고 컴파일되는 코드를 만드는 쪽에 전력을 다 하자!
- 컴파일러 경고에 너무 기대는 인생을 지양하자. 컴파이러마다 트집을 잡고 경고를 내는 부분이 천차만별이기 때문에 지금 코드를 다른 컴파일러로 이식하면 익숙해져 있는 경고 메시지가 온 데 간 데 없이 사라질 수도 있다!
class B
{
public :
virtual void f() const;
};
class D : public B
{
public :
virtual void f();
};
- warning D::f() hides virtual B::f()
- B::f는 상수(const) 멤버 함수지만 D::f는 const가 붙어있지 않아 그냥 함수 자체가 가려진 거지만, 제대로 확인하지 못하면 컴파일러가 왜 이러나... 싶은 사람들도 있을 것!
- 해당 경고를 다른 컴파일러에서는 알려주지 않을 가능성도 있다
📢 본인이 저지른 실수를 컴파일러가 대신 잡아주는 것만 믿고 아무 생각 없이 프로그래밍에 임하는 자세는 정말 좋지 않다!