《深入理解C++11:C++ 11新特性解析与应用》——1.5 本书的约定

1.5 本书的约定

1.5.1 关于一些术语的翻译

在C++11标准中,我们会涉及很多已有的或新建的术语。在本书中,这些术语我们会尽量翻译,但不求过度翻译。

在已有翻译且翻译意义已经被广为接受的情况下,我们会使用已有的翻译词汇。比如说将class翻译为“类”,或者将template翻译为“模板”。这样翻译已经为中文读者广为接受,本书则会沿用这样的译法。

而已有翻译但是意义并没有被广为接受的情况下,本书中则会考虑保留英文原文。比如说将“URL”翻译为“统一资源定址器”在我们看来就是一种典型的不良情况。通常将这样的术语翻译为中文会阻碍读者的理解。而大多数能够阅读本书的读者也会具有基本的英文阅读能力和一些常识性的计算机知识,因此本书将保留原文,以期望能够帮助读者更好地理解涉及术语的部分。

对于还没有广泛被认同的中文翻译的术语,我们会采用审慎的态度。一些时候,如果英文确实有利于理解,我们会尝试以注释的方式提供一个中文的解释,而在文中保持英文。如果翻译成中文非常利于理解,则会提供一个中文的翻译,在注释中留下英文。

1.5.2 关于代码中的注释

在本书中,如果可能我们会将一些形如cout、 printf打印至标准输出/错误的内容放在代码的注释中,从读书的经验来看,我们认为这样是最方便阅读的。比如:

int a = 2012;
cout << "hello, world" << endl;      // hello, world
cout << a << “ is doomed" << endl; // 2012 is doomed

同时,一些关键的、有助于读者理解代码的解释也会放在注释中。在通常情况下,注释中有了打印结果的语句不会再有其他的代码解释。如果有,我们将会以逗号将其分开。比如:

cout << "hello world" << endl;    // hello world, 打印"hello world"

1.5.3 关于本书中的代码示例与实验平台

在本书的编写中,我们一共使用了3种编译器对代码进行编译,即IBM的xlC++、GNU的g++,以及llvm的clang++。我们使用的这3种编译器都是开发中的版本,其中xlC++使用的是开发中的版本13,g++使用的是开发中的版本4.8,而clang++则使用的是开发中的版本3.2。

本书的代码大多数由作者原创,少量使用了C++11标准提案中的案例,以及一些网上资源。由于本书编写时,还没有编译器提供对C++11所有特性的完整支持,所以通常我们都会将使用的编译器、编译时采用的编译选项罗列在代码处。在本书的代码中,我们会以g++编译为主,但这并不意味着其他编译器无法编译通过这些代码示例。从我们现在看到的结果而言,使用相同特性的代码,编译器的支持往往不存在很大的个体差别(这也是设立标准的意义所在)。而具体的编译器支持,读者则可以通过附录 C获得相关的信息。

我们的代码运行平台之一是一台运行在IBM Power服务器上的SUSE Linux Enterprise Server 11 (x86_64)的虚拟机(从我们的实验看来,在该虚拟机上并没有出现与实体机器不一致之处,而不同的Linux也不会对我们的实验产生影响)。运行平台之二则是一台运行于SUSE Linux Enterprise Server 10 SP2 (ppc)的IBM Power5+服务器。

相比于 C++98 带来的面向对象的革命性,C++11 带来的 XIII  却并非“翻天覆地”式的改变。很多时候,程序员保持着“C++98 式”的观点来看待 C++11 代码也同样是合理的。因为在编程思想上,C++11 依然遵从了一贯的面向对象的思想,并深 入加强了泛型编程的支持。从我们的观察来看,C++11 更多的是对步入“成熟稳重”的中年 时期的 C++ 的一种改造。比如,像 auto 类型推导这样的新特性,展现出的是语言的亲和力 ; 而右值引用、移动语义的特性,则着重于改变一些使用 C++ 程序库时容易发生的性能不佳的 状况。当然,C++11 中也有局部的创新,比如 lambda 函数的引入,以及原子类型的设计等, 都体现了语言与时俱进的活力。语言的诸多方面都在 C++11 中再次被锤炼,从而变得更加合 理、更加条理清晰、更加易用。C++11C++ 语言改进的每一点,都呈现出了经过长时间技 术沉淀的编程语言的特色与风采。所以从这个角度上看,学习 C++11C++98 在思想上是 一脉相承的,程序员可以用较小的代价对 C++ 的知识进行更新换代。而在现实中,只要修改 少量已有代码(甚至不修改) ,就可以使用 C++11 编译器对旧有代码进行升级编译而获得新 标准带来的好处,这也非常具有实用性。因此,从很多方面来看,C++ 程序员都应该乐于升 级换代已有的知识,而学习及使用 C++11 也正是大势所趋。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值