其他条款(包含条款53、条款54、条款55)
条款53:不要轻忽编译器的警告
1.1 提出问题
下面是每个人都可能犯过的错误:
class B {
public:
virtual void f() const;
};
class D : public B {
public:
virtual void f();
};
编译器:警告!在B中声明的f没有在D中重新声明;相反,它被完全隐藏起来了。
warning: D::f() hides virtual B::f()
无论如何,重要的是要确保在忽略警告之前,确切理解它试图表达的内容。
1.2 总结
- 认真对待编译器警告,并努力在编译器支持的最大警告级别上编译无警告。
- 不要过于依赖编译器的警告,因为不同的编译器对待警告的态度并不相同。移植到新的编译器可能会消除你所依赖的警告消息。
条款54:让自己熟悉包括 TR1 在内的标准程序库
TR1 (“Technical Report 1” )是一个临时版本,现在已经完全融入标准C++。
条款55:让自己熟悉 Boost
- Boost本身有提升的意思,致力于展现C++未来的样子!Boost 中的许多库已经被 C++ 吸纳为标准库的一部分。
- Boost是一个社区和网站,用于开发免费的、开源的、经过同行评审的C++库。Boost在C++标准化中发挥着重要作用。
- Boost提供了许多TR1组件的实现,但它也提供了许多其他库。