使用了许多C ++ 11功能。我已成功编译并测试了g ++ 4.6.2下的程序。重要提示:代码不会在C ++ 11之前的编译器上编译。
- 如果您还没有C ++ 11编译器或者还不想处理C ++ 11,请使用第3版中的
代码。
- 如果您有C ++ 11编译器,某些功能仍可能不可用。在这里检查C ++ 11的编译器支持。使用的突出功能包括:自动,统一初始化(即使用大括号而不是构造函数初始化列表中的括号的先前样式),long long,推断的返回类型(偶尔),nullptr(如果不支持则定义为0),右尖括号(现在嵌套模板实例化中的>>),右值引用和移动,基于范围的循环以及一些库特征(如随机数生成工具)。
- 请阅读第1.6.5节第44页,以了解在文本中显示代码所做的简化(以避免代码在多个页面中运行,并且冗余引用数字)。除非另有说明,否则下面的代码可以通过下载所有内容然后编译提供了main的测试程序来编译,并且包含相应的.h和.cpp文件。例如,这是一个正常的编译,然后是第二个例子(它说明了需要第二个文件的偶然情况之一)。
g ++ -std = c ++ 0x TestAvlTree.cpp
g ++ -std = c ++ 0x TestIntCell.cpp IntCell.cpp
|