 现代C++ 教程:高速上手C++11/14/17/20. . . . . . . . . . 83 6 序言 序言 引言 C++ 是一个用户群体相当大的语言。从 C++98 的出现到 C++11 的正式定稿经历了长达十年多之 久的积累。C++14/17 则是作为对 C++11 的重要补充和优化,C++20 则将这门语言领进了现代化的大 门,所有这些新标准中扩充的特性,给 C++ 这门语言注入了新的活力。那些还在坚持使用传统 C++ (本书把 return n == 1 || n == 2 ? 1 : fibonacci(n-1)+fibonacci(n-2); } 14 2.2 变量及其初始化 第 2 章语言可用性的强化 从 C++14 开始,constexpr 函数可以在内部使用局部变量、循环和分支等简单语句,例如下面的 代码在 C++11 的标准下是不能够通过编译的: constexpr int fibonacci(const template 现代C++ 教程:高速上手C++11/14/17/20. . . . . . . . . . 83 6 序言 序言 引言 C++ 是一个用户群体相当大的语言。从 C++98 的出现到 C++11 的正式定稿经历了长达十年多之 久的积累。C++14/17 则是作为对 C++11 的重要补充和优化,C++20 则将这门语言领进了现代化的大 门,所有这些新标准中扩充的特性,给 C++ 这门语言注入了新的活力。那些还在坚持使用传统 C++ (本书把 return n == 1 || n == 2 ? 1 : fibonacci(n-1)+fibonacci(n-2); } 14 2.2 变量及其初始化 第 2 章语言可用性的强化 从 C++14 开始,constexpr 函数可以在内部使用局部变量、循环和分支等简单语句,例如下面的 代码在 C++11 的标准下是不能够通过编译的: constexpr int fibonacci(const template- auto add2(T x, U y) -> decltype(x+y){ return x + y; } 令人欣慰的是从 C++14 开始是可以直接让普通函数具备返回值推导,因此下面的写法变得合法: template - auto add3(T x, U y){ return x 0 码力 | 83 页 | 2.42 MB | 1 年前3
 C++高性能并行编程与优化 -  课件 - 15 C++ 系列课:字符与字符串正确(推荐) 字符串的连接( + 运算符) • 错误: • 正确: C++14 新特性:自定义字面量后缀 • 不少同学就觉得这样好麻烦,其他语言都是直接 “ hello” 就是字符串类 型, C++ 还得套一层壳 string(“hello”) 才能变成安全封装的类型,才能用他 的成员函数。 • 因此, C++14 引入了一项缓解“键盘压力”的新特性: • 写 “ hello”_s 就相当于写 字符串没要求一定是 ‘ \0’ 结尾,字符串里是可以包含 ‘ \0’ 的。 C++14 新特性:自定义字面量后缀 • 如果你 using namespace std; 其实标准库已经自动帮你定义好了 “” s 后缀。 • 这里 “ hello”s 就等价于原本繁琐的 string(“hello”) 了。 C++14 新特性:自定义字面量后缀 • 如果你觉得 using namespace std; u32string U" 字符 " 4 UTF-32 其中后面三个是不随系统而改变的( C++ 标准委员会定义) 前面三个是随系统而改变的( Linux 和 Windows 自己定义)。 和 C++14 自定义常量后缀的联动: “ 字符” s 会得到 string 。 L“ 字符” s 会得到 wstring 。 “ 字符” sv 会得到 string_view 。 L“ 字符” sv 会得到 wstring_view0 码力 | 162 页 | 40.20 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 15 C++ 系列课:字符与字符串正确(推荐) 字符串的连接( + 运算符) • 错误: • 正确: C++14 新特性:自定义字面量后缀 • 不少同学就觉得这样好麻烦,其他语言都是直接 “ hello” 就是字符串类 型, C++ 还得套一层壳 string(“hello”) 才能变成安全封装的类型,才能用他 的成员函数。 • 因此, C++14 引入了一项缓解“键盘压力”的新特性: • 写 “ hello”_s 就相当于写 字符串没要求一定是 ‘ \0’ 结尾,字符串里是可以包含 ‘ \0’ 的。 C++14 新特性:自定义字面量后缀 • 如果你 using namespace std; 其实标准库已经自动帮你定义好了 “” s 后缀。 • 这里 “ hello”s 就等价于原本繁琐的 string(“hello”) 了。 C++14 新特性:自定义字面量后缀 • 如果你觉得 using namespace std; u32string U" 字符 " 4 UTF-32 其中后面三个是不随系统而改变的( C++ 标准委员会定义) 前面三个是随系统而改变的( Linux 和 Windows 自己定义)。 和 C++14 自定义常量后缀的联动: “ 字符” s 会得到 string 。 L“ 字符” s 会得到 wstring 。 “ 字符” sv 会得到 string_view 。 L“ 字符” sv 会得到 wstring_view0 码力 | 162 页 | 40.20 MB | 1 年前3
 openEuler 24.03 LTS 技术白皮书GCC 10.3 升级到 GCC 12.3 版本,支持自动反馈优化、软硬件协同、内存优化、SVE 向量化、 矢量化数学库等特性。 1. GCC 版本升级到 12.3,默认语言标准从 C14/C++14 升级到 C17/C++17 标准,支持 Armv9-a 架构,x86 的 AVX512 FP16 等更 多硬件架构特性。 2. 支持结构体优化,指令选择优化等,充分使能 Arm 架构的硬件特性,运行效率高,在 0 发布时间 2021/4/8 2022/4/21 2023/5/8 C 标准 默认 c17 支持 c2x 默认 c17 支持 c2x 默认 c17 支持 c2x C++ 标准 默认 c++14 支持 c++17 实验性 C++2a 改进 支持部分 C++20 默认 c++17 实验性 C++2a 改进 支持部分 C++20 默认 c++17 实验性 C++2a 改进 支持部分 C++200 码力 | 45 页 | 6.18 MB | 1 年前3 openEuler 24.03 LTS 技术白皮书GCC 10.3 升级到 GCC 12.3 版本,支持自动反馈优化、软硬件协同、内存优化、SVE 向量化、 矢量化数学库等特性。 1. GCC 版本升级到 12.3,默认语言标准从 C14/C++14 升级到 C17/C++17 标准,支持 Armv9-a 架构,x86 的 AVX512 FP16 等更 多硬件架构特性。 2. 支持结构体优化,指令选择优化等,充分使能 Arm 架构的硬件特性,运行效率高,在 0 发布时间 2021/4/8 2022/4/21 2023/5/8 C 标准 默认 c17 支持 c2x 默认 c17 支持 c2x 默认 c17 支持 c2x C++ 标准 默认 c++14 支持 c++17 实验性 C++2a 改进 支持部分 C++20 默认 c++17 实验性 C++2a 改进 支持部分 C++20 默认 c++17 实验性 C++2a 改进 支持部分 C++200 码力 | 45 页 | 6.18 MB | 1 年前3
 openEuler 23.09 技术白皮书GCC 10.3 升级到 GCC 12.3 版本,支持自动反馈优化、软硬件协同、内存优化、 SVE 向量化、矢量化数学库等特性。 1. GCC 版本升级到 12.3,默认语言标准从 C14/C++14 升级到 C17/C++17 标准,支持 Armv9-a 架构,X86 的 AVX512 FP16 等更多硬件架构特性。 通用计算领域,运行 SPECCPU 2017 测试,相比于上游社区的 0 发布时间 2021/4/8 2022/4/21 2023/5/8 C 标准 默认 c17 支持 c2x 默认 c17 支持 c2x 默认 c17 支持 c2x C++ 标准 默认 c++14 支持 c++17 实验性 C++2a 改进 支持部分 C++20 默认 c++17 实验性 C++2a 改进 支持部分 C++20 默认 c++17 实验性 C++2a 改进 支持部分 C++200 码力 | 52 页 | 5.25 MB | 1 年前3 openEuler 23.09 技术白皮书GCC 10.3 升级到 GCC 12.3 版本,支持自动反馈优化、软硬件协同、内存优化、 SVE 向量化、矢量化数学库等特性。 1. GCC 版本升级到 12.3,默认语言标准从 C14/C++14 升级到 C17/C++17 标准,支持 Armv9-a 架构,X86 的 AVX512 FP16 等更多硬件架构特性。 通用计算领域,运行 SPECCPU 2017 测试,相比于上游社区的 0 发布时间 2021/4/8 2022/4/21 2023/5/8 C 标准 默认 c17 支持 c2x 默认 c17 支持 c2x 默认 c17 支持 c2x C++ 标准 默认 c++14 支持 c++17 实验性 C++2a 改进 支持部分 C++20 默认 c++17 实验性 C++2a 改进 支持部分 C++20 默认 c++17 实验性 C++2a 改进 支持部分 C++200 码力 | 52 页 | 5.25 MB | 1 年前3
 C++高性能并行编程与优化 -  课件 - 02 现代 C++ 入门:RAII 内存管理如果想使用 for_each 这个算法模板呢? 我知道可以用 accumulate 啦!但是为了引出 lambda 表达式…… 近现代: C++11 引入了 lambda 表达式 现代: C++14 的 lambda 允许用 auto 自动推断类型 当代: C++17 CTAD / compile-time argument deduction / 编 译期参数推断 当代: C++17 引入常用数值算法0 码力 | 96 页 | 16.28 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 02 现代 C++ 入门:RAII 内存管理如果想使用 for_each 这个算法模板呢? 我知道可以用 accumulate 啦!但是为了引出 lambda 表达式…… 近现代: C++11 引入了 lambda 表达式 现代: C++14 的 lambda 允许用 auto 自动推断类型 当代: C++17 CTAD / compile-time argument deduction / 编 译期参数推断 当代: C++17 引入常用数值算法0 码力 | 96 页 | 16.28 MB | 1 年前3
 C++高性能并行编程与优化 -  课件 - 11 现代 CMake 进阶指南类型,可以为 ON 或 OFF ,默认 OFF 。 • 他表示是否一定要支持你指定的 C++ 标准:如果为 OFF 则 CMake 检测到编译器不支 持 C++17 时不报错,而是默默调低到 C++14 给你用;为 ON 则发现不支持报错,更安 全。 https://crascit.com/2015/03/28/enabling-cxx11-in-cmake/ 设置 C++ 标准: CMAKE_CXX_STANDARD0 码力 | 166 页 | 6.54 MB | 1 年前3 C++高性能并行编程与优化 -  课件 - 11 现代 CMake 进阶指南类型,可以为 ON 或 OFF ,默认 OFF 。 • 他表示是否一定要支持你指定的 C++ 标准:如果为 OFF 则 CMake 检测到编译器不支 持 C++17 时不报错,而是默默调低到 C++14 给你用;为 ON 则发现不支持报错,更安 全。 https://crascit.com/2015/03/28/enabling-cxx11-in-cmake/ 设置 C++ 标准: CMAKE_CXX_STANDARD0 码力 | 166 页 | 6.54 MB | 1 年前3
 Krita 4.x 官方文档中文版 2021-08-06Asupport of it will be removed soon. description: bg.. meta:: Guide to using features from C++11, C++14 and beyond in Krita’s codebase. Modern C++ usage guidelines for the Krita codebase ⽬录 Modern C++ io/blog/2011/05/26/cpp0x-in-qt/] woboq.com: c++11 in Qt5 [https://woboq.com/blog/cpp11-in- qt5.html]. woboq.com: c++14 in Qt5 [https://woboq.com/blog/cpp14-in- qt.html]. FOSDEM 2013 presentation slides [https://archive0 码力 | 1594 页 | 110.95 MB | 1 年前3 Krita 4.x 官方文档中文版 2021-08-06Asupport of it will be removed soon. description: bg.. meta:: Guide to using features from C++11, C++14 and beyond in Krita’s codebase. Modern C++ usage guidelines for the Krita codebase ⽬录 Modern C++ io/blog/2011/05/26/cpp0x-in-qt/] woboq.com: c++11 in Qt5 [https://woboq.com/blog/cpp11-in- qt5.html]. woboq.com: c++14 in Qt5 [https://woboq.com/blog/cpp14-in- qt.html]. FOSDEM 2013 presentation slides [https://archive0 码力 | 1594 页 | 110.95 MB | 1 年前3
 Krita 4.x 官方文档中文版 2021-08-06Asupport of it will be removed soon. description: bg.. meta:: Guide to using features from C++11, C++14 and beyond in Krita’s codebase. Modern C++ usage guidelines for the Krita codebase 目录 Modern C++ io/blog/2011/05/26/cpp0x-in-qt/] woboq.com: c++11 in Qt5 [https://woboq.com/blog/cpp11-in-qt5.html]. woboq.com: c++14 in Qt5 [https://woboq.com/blog/cpp14-in-qt.html]. FOSDEM 2013 presentation slides [https://archive0 码力 | 1373 页 | 74.74 MB | 1 年前3 Krita 4.x 官方文档中文版 2021-08-06Asupport of it will be removed soon. description: bg.. meta:: Guide to using features from C++11, C++14 and beyond in Krita’s codebase. Modern C++ usage guidelines for the Krita codebase 目录 Modern C++ io/blog/2011/05/26/cpp0x-in-qt/] woboq.com: c++11 in Qt5 [https://woboq.com/blog/cpp11-in-qt5.html]. woboq.com: c++14 in Qt5 [https://woboq.com/blog/cpp14-in-qt.html]. FOSDEM 2013 presentation slides [https://archive0 码力 | 1373 页 | 74.74 MB | 1 年前3
 Krita 5.2 中文手册support of it will be removed soon. bg.. meta:: description: Guide to using features from C++11, C++14 and beyond in Krita’s codebase. Modern C++ usage guidelines for the Krita codebase 目录 Modern C++ io/blog/2011/05/26/cpp0x-in-qt/] woboq.com: c++11 in Qt5 [https://woboq.com/blog/cpp11-in-qt5.html]. woboq.com: c++14 in Qt5 [https://woboq.com/blog/cpp14-in-qt.html]. FOSDEM 2013 presentation slides [https://archive0 码力 | 1594 页 | 79.20 MB | 1 年前3 Krita 5.2 中文手册support of it will be removed soon. bg.. meta:: description: Guide to using features from C++11, C++14 and beyond in Krita’s codebase. Modern C++ usage guidelines for the Krita codebase 目录 Modern C++ io/blog/2011/05/26/cpp0x-in-qt/] woboq.com: c++11 in Qt5 [https://woboq.com/blog/cpp11-in-qt5.html]. woboq.com: c++14 in Qt5 [https://woboq.com/blog/cpp14-in-qt.html]. FOSDEM 2013 presentation slides [https://archive0 码力 | 1594 页 | 79.20 MB | 1 年前3
 Krita 5.2 官方文档中文版 2023-12-08Asupport of it will be removed soon. description:: bg.. meta:: Guide to using features from C++11, C++14 and beyond in Kritaʼs codebase. Modern C++ usage guidelines for the Krita codebase 目录 Modern C++ io/blog/2011/05/26/cpp0x-in-qt/] woboq.com: c++11 in Qt5 [https://woboq.com/blog/cpp11-in- qt5.html]. woboq.com: c++14 in Qt5 [https://woboq.com/blog/cpp14-in- qt.html]. FOSDEM 2013 presentation slides [https://archive0 码力 | 1685 页 | 91.87 MB | 1 年前3 Krita 5.2 官方文档中文版 2023-12-08Asupport of it will be removed soon. description:: bg.. meta:: Guide to using features from C++11, C++14 and beyond in Kritaʼs codebase. Modern C++ usage guidelines for the Krita codebase 目录 Modern C++ io/blog/2011/05/26/cpp0x-in-qt/] woboq.com: c++11 in Qt5 [https://woboq.com/blog/cpp11-in- qt5.html]. woboq.com: c++14 in Qt5 [https://woboq.com/blog/cpp14-in- qt.html]. FOSDEM 2013 presentation slides [https://archive0 码力 | 1685 页 | 91.87 MB | 1 年前3
共 12 条
- 1
- 2














