mirror of
https://github.com/CnTransGroup/EffectiveModernCppChinese.git
synced 2025-02-06 17:20:44 +08:00
deploy: 1de81e61d5
This commit is contained in:
parent
74a42b3882
commit
ae27c40422
@ -140,7 +140,7 @@
|
||||
<div id="content" class="content">
|
||||
<main>
|
||||
<h2 id="简介"><a class="header" href="#简介">简介</a></h2>
|
||||
<p>如果你是一个有经验的C++程序员,像我一样,你在初次接触C++11时候会想:“是啊是啊,我明白了。这也是C++,就多了点东西罢了。”但是你接触越多,你会惊讶于改变如此之多。<code>auto</code>声明,范围<code>for</code>循环,<em>lambda</em>表达式,还有右值引用都改变了C++的面貌,不过没有新的并发特性。还有一些地道的表达方式的改变。<code>0</code>和<code>typedef</code>被请出去了,<code>nullptr</code>和别名声明加进来了。枚举现在应该是限域的了。应该更倾向于智能指针而不是原始指针了。移动对象通常比拷贝它们要好了。</p>
|
||||
<p>如果你是一位经验丰富的 C++ 程序员并且多少跟我差不多,那你在初次接触 C++11 的时候就会想,“是的,是的,我知道的。它还是 C++,就是多了点东西。”但随着你了解越多,你会为改变的幅度之巨感到震惊。<code>auto</code> 声明,基于 range 的 <code>for</code> 循环,<em>lambda</em> 表达式,还有右值引用完全改变了 C++ 的面貌,这还不说新的并发特性。然后还有一些惯常的改进。<code>0</code> 和 <code>typedef</code> 出局,<code>nullptr</code> 和别名声明新晋。枚举现在应该是限域的了。相比内置的指针类型,现在要更倾向去使用智能指针。移动对象通常也好过于拷贝它们。</p>
|
||||
<p>有很多C++11的东西要学,先不提C++14了。</p>
|
||||
<p>更重要的是,要学习怎样<strong>高效地</strong>使用新机能。如果你需要关于”现代“C++的特性的基础信息,学习资源有很多,但是你想找一些指南,教你怎样应用这些特性来写出正确、高效、可维护、可移植的程序,那就相当有挑战性了。这就是这本书的切入点。它不致力于介绍C++11和C++14的特性,而致力于它们的高效应用。</p>
|
||||
<p>书中这些信息被打碎成不同指导方针,称为<strong>条款</strong>。想理解类型推导的不同形式?或者想知道什么时候该用(或者不该用)<code>auto</code>声明?你对为什么<code>const</code>成员函数应当线程安全,怎样使用<code>std::unique_ptr</code>实现Pimpl惯用法,为何要避免<em>lambda</em>表达式用默认捕获模式,或者<code>std::atomic</code>与<code>volatile</code>的区别感兴趣吗?答案都在这里。而且,答案无关于平台,顺应于标准。这本书是关于<strong>可移植</strong>C++的。</p>
|
||||
|
@ -140,7 +140,7 @@
|
||||
<div id="content" class="content">
|
||||
<main>
|
||||
<h2 id="简介"><a class="header" href="#简介">简介</a></h2>
|
||||
<p>如果你是一个有经验的C++程序员,像我一样,你在初次接触C++11时候会想:“是啊是啊,我明白了。这也是C++,就多了点东西罢了。”但是你接触越多,你会惊讶于改变如此之多。<code>auto</code>声明,范围<code>for</code>循环,<em>lambda</em>表达式,还有右值引用都改变了C++的面貌,不过没有新的并发特性。还有一些地道的表达方式的改变。<code>0</code>和<code>typedef</code>被请出去了,<code>nullptr</code>和别名声明加进来了。枚举现在应该是限域的了。应该更倾向于智能指针而不是原始指针了。移动对象通常比拷贝它们要好了。</p>
|
||||
<p>如果你是一位经验丰富的 C++ 程序员并且多少跟我差不多,那你在初次接触 C++11 的时候就会想,“是的,是的,我知道的。它还是 C++,就是多了点东西。”但随着你了解越多,你会为改变的幅度之巨感到震惊。<code>auto</code> 声明,基于 range 的 <code>for</code> 循环,<em>lambda</em> 表达式,还有右值引用完全改变了 C++ 的面貌,这还不说新的并发特性。然后还有一些惯常的改进。<code>0</code> 和 <code>typedef</code> 出局,<code>nullptr</code> 和别名声明新晋。枚举现在应该是限域的了。相比内置的指针类型,现在要更倾向去使用智能指针。移动对象通常也好过于拷贝它们。</p>
|
||||
<p>有很多C++11的东西要学,先不提C++14了。</p>
|
||||
<p>更重要的是,要学习怎样<strong>高效地</strong>使用新机能。如果你需要关于”现代“C++的特性的基础信息,学习资源有很多,但是你想找一些指南,教你怎样应用这些特性来写出正确、高效、可维护、可移植的程序,那就相当有挑战性了。这就是这本书的切入点。它不致力于介绍C++11和C++14的特性,而致力于它们的高效应用。</p>
|
||||
<p>书中这些信息被打碎成不同指导方针,称为<strong>条款</strong>。想理解类型推导的不同形式?或者想知道什么时候该用(或者不该用)<code>auto</code>声明?你对为什么<code>const</code>成员函数应当线程安全,怎样使用<code>std::unique_ptr</code>实现Pimpl惯用法,为何要避免<em>lambda</em>表达式用默认捕获模式,或者<code>std::atomic</code>与<code>volatile</code>的区别感兴趣吗?答案都在这里。而且,答案无关于平台,顺应于标准。这本书是关于<strong>可移植</strong>C++的。</p>
|
||||
|
@ -141,7 +141,7 @@
|
||||
<div id="content" class="content">
|
||||
<main>
|
||||
<h2 id="简介"><a class="header" href="#简介">简介</a></h2>
|
||||
<p>如果你是一个有经验的C++程序员,像我一样,你在初次接触C++11时候会想:“是啊是啊,我明白了。这也是C++,就多了点东西罢了。”但是你接触越多,你会惊讶于改变如此之多。<code>auto</code>声明,范围<code>for</code>循环,<em>lambda</em>表达式,还有右值引用都改变了C++的面貌,不过没有新的并发特性。还有一些地道的表达方式的改变。<code>0</code>和<code>typedef</code>被请出去了,<code>nullptr</code>和别名声明加进来了。枚举现在应该是限域的了。应该更倾向于智能指针而不是原始指针了。移动对象通常比拷贝它们要好了。</p>
|
||||
<p>如果你是一位经验丰富的 C++ 程序员并且多少跟我差不多,那你在初次接触 C++11 的时候就会想,“是的,是的,我知道的。它还是 C++,就是多了点东西。”但随着你了解越多,你会为改变的幅度之巨感到震惊。<code>auto</code> 声明,基于 range 的 <code>for</code> 循环,<em>lambda</em> 表达式,还有右值引用完全改变了 C++ 的面貌,这还不说新的并发特性。然后还有一些惯常的改进。<code>0</code> 和 <code>typedef</code> 出局,<code>nullptr</code> 和别名声明新晋。枚举现在应该是限域的了。相比内置的指针类型,现在要更倾向去使用智能指针。移动对象通常也好过于拷贝它们。</p>
|
||||
<p>有很多C++11的东西要学,先不提C++14了。</p>
|
||||
<p>更重要的是,要学习怎样<strong>高效地</strong>使用新机能。如果你需要关于”现代“C++的特性的基础信息,学习资源有很多,但是你想找一些指南,教你怎样应用这些特性来写出正确、高效、可维护、可移植的程序,那就相当有挑战性了。这就是这本书的切入点。它不致力于介绍C++11和C++14的特性,而致力于它们的高效应用。</p>
|
||||
<p>书中这些信息被打碎成不同指导方针,称为<strong>条款</strong>。想理解类型推导的不同形式?或者想知道什么时候该用(或者不该用)<code>auto</code>声明?你对为什么<code>const</code>成员函数应当线程安全,怎样使用<code>std::unique_ptr</code>实现Pimpl惯用法,为何要避免<em>lambda</em>表达式用默认捕获模式,或者<code>std::atomic</code>与<code>volatile</code>的区别感兴趣吗?答案都在这里。而且,答案无关于平台,顺应于标准。这本书是关于<strong>可移植</strong>C++的。</p>
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user