mirror of
https://github.com/changkun/modern-cpp-tutorial.git
synced 2025-12-16 20:27:08 +03:00
@@ -1,6 +1,6 @@
|
||||
<img src="assets/cover-2nd.png" alt="logo" height="550" align="right" />
|
||||
|
||||
# 《高速上手 C++11/14/17/20》
|
||||
# 现代 C++ 教程:高速上手 C++11/14/17/20
|
||||
|
||||
[](./README.md) [](./README-zh-cn.md) [](./assets/donate.md) [](./assets/community.md)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<img src="assets/cover-2nd-en.png" alt="logo" height="550" align="right" />
|
||||
|
||||
# C++11/14/17/20 On the Fly
|
||||
# Modern C++ Tutorial: C++11/14/17/20 On the Fly
|
||||
|
||||
[](./README.md) [](./README-zh-cn.md) [](./assets/donate.md) [](./assets/community.md)
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.6 MiB |
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.6 MiB |
@@ -11,7 +11,7 @@ order: 0
|
||||
## Introduction
|
||||
|
||||
C++ user group is a fairly large. From the advent of C++98 to the official finalization of C++11, it has accumulated over a decade. C++14/17 is an important complement and optimization for C++11, and C++20 brings this language to the door of modernization. The extended features of all these new standards are given to the C++ language. Infused with new vitality.
|
||||
C++ programmers, who are still using **traditional C++** (this book refers to C++98 and its previous C++ standards as traditional C++), may even amzed by the fact that they are not using the same language while reading C++11/14/17/20 code.
|
||||
C++ programmers, who are still using **traditional C++** (this book refers to C++98 and its previous C++ standards as traditional C++), may even amzed by the fact that they are not using the same language while reading modern C++ code.
|
||||
|
||||
**Modern C++** (this book refers to C++11/14/17/20) introduces a lot of features into traditional C++, which makes the whole C++ become language that modernized. Modern C++ not only enhances the usability of the C++ language itself, but the modification of the `auto` keyword semantics gives us more confidence in manipulating extremely complex template types. At the same time, a lot of enhancements have been made to the language runtime. The emergence of Lambda expressions has made C++ have the "closure" feature of "anonymous functions", which is almost in modern programming languages (such as Python/Swift/.. It has become commonplace, and the emergence of rvalue references has solved the problem of temporary object efficiency that C++ has long been criticized.
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ order: 0
|
||||
## 引言
|
||||
|
||||
C++ 是一个用户群体相当大的语言。从 C++98 的出现到 C++11 的正式定稿经历了长达十年多之久的积累。C++14/17 则是作为对 C++11 的重要补充和优化,C++20 则将这门语言领进了现代化的大门,所有这些新标准中扩充的特性,给 C++ 这门语言注入了新的活力。
|
||||
那些还在坚持使用**传统 C++**(本书把 C++98 及其之前的 C++ 特性均称之为传统 C++)而未接触过 C++11/14/17/20 的 C++ 程序员在见到诸如 Lambda 表达式这类全新特性时,甚至会流露出『学的不是同一门语言』的惊叹之情。
|
||||
那些还在坚持使用**传统 C++**(本书把 C++98 及其之前的 C++ 特性均称之为传统 C++)而未接触过现代 C++ 的 C++ 程序员在见到诸如 Lambda 表达式这类全新特性时,甚至会流露出『学的不是同一门语言』的惊叹之情。
|
||||
|
||||
**现代 C++** (本书中均指 C++11/14/17/20) 为传统 C++ 注入的大量特性使得整个 C++ 变得更加像一门现代化的语言。现代 C++ 不仅仅增强了 C++ 语言自身的可用性,`auto` 关键字语义的修改使得我们更加有信心来操控极度复杂的模板类型。同时还对语言运行期进行了大量的强化,Lambda 表达式的出现让 C++ 具有了『匿名函数』的『闭包』特性,而这一特性几乎在现代的编程语言(诸如 Python/Swift/... )中已经司空见惯,右值引用的出现解决了 C++ 长期以来被人诟病的临时对象效率问题等等。
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# 高速上手 C++ 11/14/17/20
|
||||
# 现代 C++ 教程:高速上手 C++ 11/14/17/20
|
||||
|
||||
## 目录
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
title = 'C++11/14/17/20 On the Fly'
|
||||
title = 'Modern C++ Tutorial: C++11/14/17/20 On the Fly'
|
||||
filename = 'modern-cpp-tutorial'
|
||||
outputname='modern-cpp-tutorial'
|
||||
revision = $(shell git describe --always --tags)
|
||||
|
||||
@@ -10,7 +10,7 @@ ignores = ['TOC', 'Table of Content', 'License', 'license']
|
||||
|
||||
with open('modern-cpp-tutorial.md', 'w') as outfile:
|
||||
outfile.write("""---
|
||||
title: "C++11/14/17/20 On the Fly"
|
||||
title: "Modern C++ Tutorial: C++11/14/17/20 On the Fly"
|
||||
author: Changkun Ou <hi@changkun.us>
|
||||
copyright: cc-by-nc-nd 4.0
|
||||
---
|
||||
|
||||
@@ -158,7 +158,7 @@ $endif$
|
||||
\thispagestyle{plain}
|
||||
\begin{center}
|
||||
|
||||
{\LARGE\textbf{C++11/14/17/20 On the Fly}}
|
||||
{\LARGE\textbf{Modern C++ Tutorial: C++11/14/17/20 On the Fly}}
|
||||
|
||||
\vspace{1em}
|
||||
{\large Changkun Ou (hi@changkun.us)}
|
||||
@@ -176,7 +176,7 @@ $endif$
|
||||
|
||||
\noindent This work was written by \href{https://github.com/changkun}{Ou Changkun} and licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. \texttt{\small http://creativecommons.org/licenses/by-nc-nd/4.0/}
|
||||
|
||||
\vspace{6em}
|
||||
\vspace{5em}
|
||||
\includegraphics{../../assets/cover-2nd-en}
|
||||
|
||||
\end{center}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
title = '高速上手 C++11/14/17/20'
|
||||
title = '现代 C++ 教程:高速上手 C++11/14/17/20'
|
||||
filename = 'modern-cpp-tutorial'
|
||||
outputname='modern-cpp-tutorial'
|
||||
revision = $(shell git describe --always --tags)
|
||||
|
||||
@@ -8,7 +8,7 @@ chapters = ['00-preface.md', '01-intro.md', '02-usability.md', '03-runtime.md',
|
||||
ignores = ['TOC', '返回目录', '许可', 'license']
|
||||
|
||||
head = """---
|
||||
title: "高速上手 C++11/14/17/20"
|
||||
title: "现代 C++ 教程:高速上手 C++11/14/17/20"
|
||||
author: 欧长坤 <hi@changkun.us>
|
||||
copyright: cc-by-nc-nd 4.0
|
||||
---
|
||||
|
||||
@@ -164,7 +164,7 @@ $endif$
|
||||
\thispagestyle{plain}
|
||||
\begin{center}
|
||||
|
||||
{\LARGE\textbf{高速上手 C++11/14/17/20}}
|
||||
{\LARGE\textbf{现代 C++ 教程:高速上手 C++11/14/17/20}}
|
||||
|
||||
\vspace{1em}
|
||||
{\large 欧长坤 (hi@changkun.us)}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Site Configuration
|
||||
title: 高速上手 C++ 11/14/17/20
|
||||
title: "现代 C++ 教程: 高速上手 C++ 11/14/17/20"
|
||||
subtitle: C++ 11/14/17/20 On the Fly
|
||||
description: "欧长坤"
|
||||
author: 欧长坤
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"version": "2.0.0",
|
||||
"private": true,
|
||||
"hexo": {
|
||||
"version": "3.9.0"
|
||||
"version": "3.8.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"hexo-generator-index": "^0.2.1",
|
||||
@@ -16,4 +16,4 @@
|
||||
"hexo": "^3.8.0",
|
||||
"serve": ">=7.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
site_description: "Modern C++ | C++ 11/14/17/20 On the Fly | 现代 C++ | 高速上手 C++11/14/17/20"
|
||||
site_description: "Modern C++ Tutorial | C++ 11/14/17/20 On the Fly | 现代 C++ 教程 | 高速上手 C++11/14/17/20"
|
||||
google_analytics:
|
||||
root_domain: changkun.de/modern-cpp
|
||||
moderncpp_version: 2.0.0
|
||||
|
||||
@@ -17,9 +17,10 @@
|
||||
</div><div class="right">
|
||||
<h4>欧长坤 著</h4>
|
||||
<h1>
|
||||
高速上手<br>C++ 11/14/17/20
|
||||
现代 C++ 教程<br>
|
||||
</h1>
|
||||
<h2>第二版</h2>
|
||||
<h2>高速上手 C++ 11/14/17/20</h2>
|
||||
<h3>第二版</h3>
|
||||
<p>
|
||||
<a class="button white" href="<%- url_for("/modern-cpp/zh-cn/00-preface/") %>">🇨🇳 在线阅读</a>
|
||||
<a class="button download" href="<%- url_for("/modern-cpp/pdf/modern-cpp-tutorial-zh-cn.pdf") %>">🇨🇳 下载</a>
|
||||
@@ -35,9 +36,10 @@
|
||||
</div><div class="right">
|
||||
<h4>Changkun Ou</h4>
|
||||
<h1>
|
||||
C++ 11/14/17/20<br>On the Fly
|
||||
Modern C++ Tutorial
|
||||
</h1>
|
||||
<h2>Second Edition</h2>
|
||||
<h2>C++ 11/14/17/20 On the Fly</h2>
|
||||
<h3>SECOND EDITION</h3>
|
||||
<p>
|
||||
<a class="button white" href="<%- url_for("/modern-cpp/en-us/00-preface/") %>">🇬🇧 Read Online</a>
|
||||
<a class="button download" href="<%- url_for("/modern-cpp/pdf/modern-cpp-tutorial-en-us.pdf") %>">🇬🇧 Download</a>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title><%- page.title ? page.title : '' %> 高速上手 C++ 11/14/17/20 - C++ 11/14/17/20 On the Fly</title>
|
||||
<title><%- page.title ? page.title : '' %> 现代 C++ 教程: 高速上手 C++ 11/14/17/20 - Modern C++ Tutorial: C++ 11/14/17/20 On the Fly</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="description" content="<%- theme.site_description %>">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||
@@ -24,12 +24,12 @@
|
||||
</head>
|
||||
<body class="<%- isIndex ? '' : 'docs' -%>">
|
||||
<% if (page.type == 'book-en-us') { %>
|
||||
<div id="mobile-bar" data-bg-text="C++ 11/14/17/20 On the Fly" <%- isIndex ? 'class="top"' : '' %>>
|
||||
<div id="mobile-bar" data-bg-text="Modern C++ Tutorial" <%- isIndex ? 'class="top"' : '' %>>
|
||||
<a class="menu-button"></a>
|
||||
<a class="logo" href="/modern-cpp/"></a>
|
||||
</div>
|
||||
<% } else {%>
|
||||
<div id="mobile-bar" data-bg-text="高速上手 C++ 11/14/17/20" <%- isIndex ? 'class="top"' : '' %>>
|
||||
<div id="mobile-bar" data-bg-text="现代 C++ 教程" <%- isIndex ? 'class="top"' : '' %>>
|
||||
<a class="menu-button"></a>
|
||||
<a class="logo" href="/modern-cpp/"></a>
|
||||
</div>
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
<a id="logo" href="<%- url_for("/modern-cpp/") %>">
|
||||
<% if (page.type == 'book-en-us') { %>
|
||||
<img src="<%- url_for("/modern-cpp/assets/cover-2nd-en.png") %>">
|
||||
<span>C++ 11/14/17/20 On the Fly</span>
|
||||
<span>Modern C++ Tutorial: C++ 11/14/17/20 On the Fly</span>
|
||||
<% } else {%>
|
||||
<img src="<%- url_for("/modern-cpp/assets/cover-2nd.png") %>">
|
||||
<span>高速上手 C++ 11/14/17/20</span>
|
||||
<span>现代 C++ 教程:高速上手 C++ 11/14/17/20</span>
|
||||
<% } %>
|
||||
</a>
|
||||
<ul id="nav">
|
||||
|
||||
Reference in New Issue
Block a user