这本书我其实是英文和中文结合着看的,以英文为主。发现英文原版其实就有不少的谬误。其中呢,英语语法的错误这个我就不去强调了,这个不影响知识的正确性。需要讲的是一些技术上的严谨性的错误,比如,英文版 497 这个这个问题,

string dots(10, '.');               // direct initialization
string s(dots);                     // direct initialization           
string s2 = dots;                   // copy initialization             
string null_book = "9-999-99999-9"; // copyinitialization              
string nines = string(100, '9');    // copy initialization  

这里第 2 个直接初始化,我觉得应该是拷贝初始化。

按:再看这个问题,我觉得好像作者没有错,应该就是 direct initialization.

然后,还有一个 array 的问题,在原版的 338 页,

array<int, 10> a1 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};                                       
array<int, 10> a2 = {0};              // elementsallhavevalue 0                                                               
a1 = a2;                              // replaceselementsina1                                                                     
a2 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // error:cannotassign to an array from abraced list 

它说这里是 error,但是,不管我怎么测试,发现这里都没有问题,使用的是 msvc 编译器,VS2022 版本。