Colin's Blog
Recent content on Colin's Blog
马上订阅 Colin's Blog RSS 更新: https://blog.oyyko.com/index.xml
现代C++白皮书 笔记1
finalwind42@gmail.com (Oyyko)
2022年2月17日 08:00
现代C++白皮书 笔记1
C++14
- 0b11001010
- 0b1100'1010'0010
- 函数返回类型推导
1auto add(auto&x,auto&y)2{3 return x+y;4}- constexpr中的局部变量
- 移动捕获
[p = move(ptr)](){}; - 按类型访问元组
x = get<int>(t); - 用户定义字面量
3ms, 55us, 10i, "hello"s - 变量模版
1template <typename T>2T x = T(3.1);34cout << x<int> << " " << x<double> << endl; // 3 3.1- 泛型lambda表达式
1auto get_size = [](auto& m){return m.size();};在其他一些语言里面,有专门的特殊语法:
1C# x => x*x2JAVA x -> x*x3D (x){return x*x;}Bjarne认为不使用特殊记法是对的,但认为应该引入概念。
Concept 概念
概念——用于指定对于模版参数要求的编译期谓词类型和值概念:Buffer<unsigned char, 128> 即值也可以作为概念的参数(感觉BS就是让Alexander Stepanov和STL给带坏了才老想着整Concept)
Concept的问题:
1template <typename T> 2concept Tickable...剩余内容已隐藏
查看完整文章以阅读更多
Colin's Blog
Recent content on Colin's Blog
马上订阅 Colin's Blog RSS 更新: https://blog.oyyko.com/index.xml
现代C++白皮书 笔记1
finalwind42@gmail.com (Oyyko)
2022年2月17日 08:00
现代C++白皮书 笔记1
C++14
- 0b11001010
- 0b1100'1010'0010
- 函数返回类型推导
1auto add(auto&x,auto&y)2{3 return x+y;4}- constexpr中的局部变量
- 移动捕获
[p = move(ptr)](){}; - 按类型访问元组
x = get<int>(t); - 用户定义字面量
3ms, 55us, 10i, "hello"s - 变量模版
1template <typename T>2T x = T(3.1);34cout << x<int> << " " << x<double> << endl; // 3 3.1- 泛型lambda表达式
1auto get_size = [](auto& m){return m.size();};在其他一些语言里面,有专门的特殊语法:
1C# x => x*x2JAVA x -> x*x3D (x){return x*x;}Bjarne认为不使用特殊记法是对的,但认为应该引入概念。
Concept 概念
概念——用于指定对于模版参数要求的编译期谓词类型和值概念:Buffer<unsigned char, 128> 即值也可以作为概念的参数(感觉BS就是让Alexander Stepanov和STL给带坏了才老想着整Concept)
Concept的问题:
1template <typename T> 2concept Tickable...剩余内容已隐藏
查看完整文章以阅读更多