| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <!-- | 2 <!-- |
| 3 Copyright 2014 The Chromium Authors. All rights reserved. | 3 Copyright 2014 The Chromium Authors. All rights reserved. |
| 4 Use of this source code is governed by a BSD-style license that can be | 4 Use of this source code is governed by a BSD-style license that can be |
| 5 found in the LICENSE file. | 5 found in the LICENSE file. |
| 6 --> | 6 --> |
| 7 <html> | 7 <html> |
| 8 <head> | 8 <head> |
| 9 <meta charset="utf-8"> | 9 <meta charset="utf-8"> |
| 10 <link rel="stylesheet" href="c++11.css"> | 10 <link rel="stylesheet" href="c++11.css"> |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 158 specific compiler implementations may use.</td> | 158 specific compiler implementations may use.</td> |
| 159 <td><a href="http://www.codesynthesis.com/~boris/blog/2012/04/18/cxx11-generaliz
ed-attributes/"> | 159 <td><a href="http://www.codesynthesis.com/~boris/blog/2012/04/18/cxx11-generaliz
ed-attributes/"> |
| 160 C++11 generalized attributes</a></td> | 160 C++11 generalized attributes</a></td> |
| 161 <td></td> | 161 <td></td> |
| 162 </tr> | 162 </tr> |
| 163 | 163 |
| 164 <tr> | 164 <tr> |
| 165 <td>Automatic Types</td> | 165 <td>Automatic Types</td> |
| 166 <td><code>auto</code></td> | 166 <td><code>auto</code></td> |
| 167 <td>Automatic type deduction</td> | 167 <td>Automatic type deduction</td> |
| 168 <td><a href="http://go/totw:4"> | 168 <td>TODO: documentation link</td> |
| 169 Tip of the Week #4: Use <code>const auto&</code> and | |
| 170 <code>auto</code> to replace complex declarations</a></td> | |
| 171 <td><a | 169 <td><a |
| 172 href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#auto">Goo
gle | 170 href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#auto">Goo
gle |
| 173 Style Guide on <code>auto</code></a></td> | 171 Style Guide on <code>auto</code></a></td> |
| 174 </tr> | 172 </tr> |
| 175 | 173 |
| 176 <tr> | 174 <tr> |
| 177 <td>Constant Expressions</td> | 175 <td>Constant Expressions</td> |
| 178 <td><code>constexpr</code></td> | 176 <td><code>constexpr</code></td> |
| 179 <td>Compile-time constant expressions</td> | 177 <td>Compile-time constant expressions</td> |
| 180 <td><a href="http://go/totw:57"> | 178 <td>TODO: documentation link</td> |
| 181 Tip of the Week #57: <code>constexpr</code> is forever</a></td> | |
| 182 <td>Not supported in MSVS2013. <a | 179 <td>Not supported in MSVS2013. <a |
| 183 href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#constexpr
">Google | 180 href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#constexpr
">Google |
| 184 Style Guide on <code>constexpr</code></a></td> | 181 Style Guide on <code>constexpr</code></a></td> |
| 185 </tr> | 182 </tr> |
| 186 | 183 |
| 187 <tr> | 184 <tr> |
| 188 <td>Declared Type Accessor</td> | 185 <td>Declared Type Accessor</td> |
| 189 <td><code>decltype(<i>expression</i>)</code></td> | 186 <td><code>decltype(<i>expression</i>)</code></td> |
| 190 <td>Provides a means to determine the type of an expression at compile-time, | 187 <td>Provides a means to determine the type of an expression at compile-time, |
| 191 useful most often in templates.</td> | 188 useful most often in templates.</td> |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 <td>Allows conversion operators that cannot be implicitly invoked</td> | 251 <td>Allows conversion operators that cannot be implicitly invoked</td> |
| 255 <td><a href="http://en.cppreference.com/w/cpp/language/explicit"> | 252 <td><a href="http://en.cppreference.com/w/cpp/language/explicit"> |
| 256 explicit specifier</a></td> | 253 explicit specifier</a></td> |
| 257 <td></td> | 254 <td></td> |
| 258 </tr> | 255 </tr> |
| 259 | 256 |
| 260 <tr> | 257 <tr> |
| 261 <td>Final Declarations</td> | 258 <td>Final Declarations</td> |
| 262 <td><code>final</code></td> | 259 <td><code>final</code></td> |
| 263 <td>Indicates that a class or function is final and cannot be overridden</td> | 260 <td>Indicates that a class or function is final and cannot be overridden</td> |
| 264 <td><a href="http://go/totw:54"> | 261 <td>TODO: documentation link</td> |
| 265 Tip of the Week #54: Controlling Your Inheritance</a></td> | |
| 266 <td><code>FINAL</code> is already widely used in the codebase.</td> | 262 <td><code>FINAL</code> is already widely used in the codebase.</td> |
| 267 </tr> | 263 </tr> |
| 268 | 264 |
| 269 <tr> | 265 <tr> |
| 270 <td>Function Local Variable</td> | 266 <td>Function Local Variable</td> |
| 271 <td><code>__func__</code></td> | 267 <td><code>__func__</code></td> |
| 272 <td>Provides a local variable of the name of the enclosing | 268 <td>Provides a local variable of the name of the enclosing |
| 273 function for logging purposes</td> | 269 function for logging purposes</td> |
| 274 <td><a href="http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=
338"> | 270 <td><a href="http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=
338"> |
| 275 The __func__ Predeclared Identifier is Coming to C++</a></td> | 271 The __func__ Predeclared Identifier is Coming to C++</a></td> |
| 276 <td></td> | 272 <td></td> |
| 277 </tr> | 273 </tr> |
| 278 | 274 |
| 279 <tr> | 275 <tr> |
| 280 <td>Function Suppression</td> | 276 <td>Function Suppression</td> |
| 281 <td><code><i>Function</i>(<i>arguments</i>) = delete;</code></td> | 277 <td><code><i>Function</i>(<i>arguments</i>) = delete;</code></td> |
| 282 <td>Suppresses the implementation of a function, especially a | 278 <td>Suppresses the implementation of a function, especially a |
| 283 synthetic function such as a copy constructor</td> | 279 synthetic function such as a copy constructor</td> |
| 284 <td>TODO: documentation link</td> | 280 <td>TODO: documentation link</td> |
| 285 <td></td> | 281 <td></td> |
| 286 </tr> | 282 </tr> |
| 287 | 283 |
| 288 <tr> | 284 <tr> |
| 289 <td>(Uniform) Initialization Syntax</td> | 285 <td>(Uniform) Initialization Syntax</td> |
| 290 <td><code><i>type</i> <i>name</i> { [<i>value</i> ..., <i>value</i>]};</code></t
d> | 286 <td><code><i>type</i> <i>name</i> { [<i>value</i> ..., <i>value</i>]};</code></t
d> |
| 291 <td>Allows any object of primitive, aggregate or class | 287 <td>Allows any object of primitive, aggregate or class |
| 292 type to be initialized using brace syntax</td> | 288 type to be initialized using brace syntax</td> |
| 293 <td><a href="http://go/totw:58"> | 289 <td>TODO: documentation link</td> |
| 294 Tip of the Week #58: Initializer Lists and the Uniform Initialization Syntax</a>
</td> | |
| 295 <td></td> | 290 <td></td> |
| 296 </tr> | 291 </tr> |
| 297 | 292 |
| 298 <tr> | 293 <tr> |
| 299 <td>Inline Namespaces</td> | 294 <td>Inline Namespaces</td> |
| 300 <td><code>inline</code></td> | 295 <td><code>inline</code></td> |
| 301 <td>Allows better versioning of namespaces</td> | 296 <td>Allows better versioning of namespaces</td> |
| 302 <td><a href="http://en.cppreference.com/w/cpp/language/namespace">Namespaces</a>
</td> | 297 <td><a href="http://en.cppreference.com/w/cpp/language/namespace">Namespaces</a>
</td> |
| 303 <td>Under investigation, unclear how it will work with | 298 <td>Under investigation, unclear how it will work with |
| 304 components</td> | 299 components</td> |
| (...skipping 18 matching lines...) Expand all Loading... |
| 323 | 318 |
| 324 <tr> | 319 <tr> |
| 325 <td>Non-Static Class Member Initializers</td> | 320 <td>Non-Static Class Member Initializers</td> |
| 326 <td> | 321 <td> |
| 327 <code> | 322 <code> |
| 328 class C {<br /> | 323 class C {<br /> |
| 329 <i>type</i> <i>var</i> = <i>value</i>;<br/> | 324 <i>type</i> <i>var</i> = <i>value</i>;<br/> |
| 330 C() // copy-initializes <i>var</i><br/> | 325 C() // copy-initializes <i>var</i><br/> |
| 331 </code> | 326 </code> |
| 332 <td>Allows non-static class members to be initialized at their definitions (outs
ide constructors)</td> | 327 <td>Allows non-static class members to be initialized at their definitions (outs
ide constructors)</td> |
| 333 <td><a href="http://go/totw:61"> | 328 <td><a href="http://en.cppreference.com/w/cpp/language/data_members"> |
| 334 Tip of the Week #58: Non-Static Class Member Initializers</a> and | |
| 335 <a href="http://en.cppreference.com/w/cpp/language/data_members"> | |
| 336 Non-static data members</a></td> | 329 Non-static data members</a></td> |
| 337 <td></td> | 330 <td></td> |
| 338 </tr> | 331 </tr> |
| 339 | 332 |
| 340 <tr> | 333 <tr> |
| 341 <td>Null Pointer Constant</td> | 334 <td>Null Pointer Constant</td> |
| 342 <td><code>nullptr</code></td> | 335 <td><code>nullptr</code></td> |
| 343 <td>Declares a type-safe null pointer</td> | 336 <td>Declares a type-safe null pointer</td> |
| 344 <td><a href="http://go/totw:39"> | 337 <td>TODO: documentation link</td> |
| 345 Tip of the Week #39: Prefer C++11’s nullptr to NULL or 0</a></td> | |
| 346 <td><a href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#0_
and_nullptr/NULL">Google Style Guidwe</a>. | 338 <td><a href="https://google-styleguide.googlecode.com/svn/trunk/cppguide.html#0_
and_nullptr/NULL">Google Style Guidwe</a>. |
| 347 </td> | 339 </td> |
| 348 </tr> | 340 </tr> |
| 349 | 341 |
| 350 <tr> | 342 <tr> |
| 351 <td>Overrides</td> | 343 <td>Overrides</td> |
| 352 <td><code>override</code></td> | 344 <td><code>override</code></td> |
| 353 <td>Indicates that a class or function overrides a base implementation</td> | 345 <td>Indicates that a class or function overrides a base implementation</td> |
| 354 <td><a href="http://go/totw:54"> | 346 <td>TODO: documentation link</td> |
| 355 Tip of the Week #54: Controlling Your Inheritance</a></td> | |
| 356 <td><code>OVERRIDE</code> is already widely used in the codebase.</td> | 347 <td><code>OVERRIDE</code> is already widely used in the codebase.</td> |
| 357 </tr> | 348 </tr> |
| 358 | 349 |
| 359 <tr> | 350 <tr> |
| 360 <td>Range-Based For Loops</td> | 351 <td>Range-Based For Loops</td> |
| 361 <td><code>for (<i>type</i> <i>var</i> : <i>range</i>)</code></td> | 352 <td><code>for (<i>type</i> <i>var</i> : <i>range</i>)</code></td> |
| 362 <td>Facilitates a more concise syntax for iterating over the elements | 353 <td>Facilitates a more concise syntax for iterating over the elements |
| 363 of a container (or a range of iterators) in a <code>for</code> loop</td> | 354 of a container (or a range of iterators) in a <code>for</code> loop</td> |
| 364 <td>TODO: documentation link</td> | 355 <td>TODO: documentation link</td> |
| 365 <td></td> | 356 <td></td> |
| (...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 697 <td><a href="http://en.cppreference.com/w/cpp/iterator/next">std::next</a> | 688 <td><a href="http://en.cppreference.com/w/cpp/iterator/next">std::next</a> |
| 698 and <a href="http://en.cppreference.com/w/cpp/iterator/prev">std::prev</a> | 689 and <a href="http://en.cppreference.com/w/cpp/iterator/prev">std::prev</a> |
| 699 </td> | 690 </td> |
| 700 <td></td> | 691 <td></td> |
| 701 </tr> | 692 </tr> |
| 702 | 693 |
| 703 <tr> | 694 <tr> |
| 704 <td>Initializer Lists</td> | 695 <td>Initializer Lists</td> |
| 705 <td><code>std::initializer_list<T></code></td> | 696 <td><code>std::initializer_list<T></code></td> |
| 706 <td>Allows containers to be initialized with aggregate elements</td> | 697 <td>Allows containers to be initialized with aggregate elements</td> |
| 707 <td><a href="http://go/totw:58"> | 698 <td>TODO: documentation link</td> |
| 708 Tip of the Week #58: Initializer Lists and the Uniform Initialization Syntax</a>
</td> | |
| 709 <td></td> | 699 <td></td> |
| 710 </tr> | 700 </tr> |
| 711 | 701 |
| 712 <tr> | 702 <tr> |
| 713 <td>Move Semantics</td> | 703 <td>Move Semantics</td> |
| 714 <td><code>std::move()</code></td> | 704 <td><code>std::move()</code></td> |
| 715 <td>Facilitates efficient move operations</td> | 705 <td>Facilitates efficient move operations</td> |
| 716 <td><a href="http://en.cppreference.com/w/cpp/utility/move"> | 706 <td><a href="http://en.cppreference.com/w/cpp/utility/move"> |
| 717 <code>std::move</code> reference</a></td> | 707 <code>std::move</code> reference</a></td> |
| 718 <td></td> | 708 <td></td> |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 810 std::stoul, std::stoull</a>, and | 800 std::stoul, std::stoull</a>, and |
| 811 <a href="http://en.cppreference.com/w/cpp/string/basic_string/stof"> | 801 <a href="http://en.cppreference.com/w/cpp/string/basic_string/stof"> |
| 812 std::stof, std::stod, std::stold</a> </td> | 802 std::stof, std::stod, std::stold</a> </td> |
| 813 <td></td> | 803 <td></td> |
| 814 </tr> | 804 </tr> |
| 815 | 805 |
| 816 <tr> | 806 <tr> |
| 817 <td>STL Algorithms</td> | 807 <td>STL Algorithms</td> |
| 818 <td>Functions within <code><algorithm></code>.</td> | 808 <td>Functions within <code><algorithm></code>.</td> |
| 819 <td>Enhancements to the set of STL algorithms</td> | 809 <td>Enhancements to the set of STL algorithms</td> |
| 820 <td><a href="http://go/totw:21"> | 810 <td>See the <a href="http://en.cppreference.com/w/cpp/algorithm"> |
| 821 Tip of the Week #21: New C++11 STL Algorithms</a>. See | |
| 822 the <a href="http://en.cppreference.com/w/cpp/algorithm"> | |
| 823 Algorithms library</a> for a complete list.</td> | 811 Algorithms library</a> for a complete list.</td> |
| 824 <td></td> | 812 <td></td> |
| 825 </tr> | 813 </tr> |
| 826 | 814 |
| 827 <tr> | 815 <tr> |
| 828 <td>System Errors</td> | 816 <td>System Errors</td> |
| 829 <td><code><system_error></code></td> | 817 <td><code><system_error></code></td> |
| 830 <td>Provides a standard system error library</td> | 818 <td>Provides a standard system error library</td> |
| 831 <td><a href="http://en.cppreference.com/w/cpp/error/system_error">std::system_er
ror</a></td> | 819 <td><a href="http://en.cppreference.com/w/cpp/error/system_error">std::system_er
ror</a></td> |
| 832 <td></td> | 820 <td></td> |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 954 </tr> | 942 </tr> |
| 955 | 943 |
| 956 </tbody> | 944 </tbody> |
| 957 </table> | 945 </table> |
| 958 | 946 |
| 959 </details> | 947 </details> |
| 960 | 948 |
| 961 </div> | 949 </div> |
| 962 </body> | 950 </body> |
| 963 </html> | 951 </html> |
| OLD | NEW |