美文网首页
C++20 读书笔记(1)

C++20 读书笔记(1)

作者: android小奉先 | 来源:发表于2022-08-28 17:15 被阅读0次

最近在看C++20相关的内容,本篇记录下遇到的比较好用的特性

Module

C++20新增的4个大特性之一,Module解决的是以前C编译include预处理效率低下痛点。提案地址,具体内容单独介绍,需要了解的事 module,import也成为关键字了,C++20之前的代码最好不要使用,防止冲突。

std::format

推荐的格式化字符串方法

if语句支持初始化变量

C++ allows you to include an initializer inside an if statement using the following syntax:
if (<initializer>; <conditional_expression>) { <if_body>
} else if (<else_if_expression>) { <else_if_body>
} else { <else_body>
}

Three-Way Comparisons

新增的运算符 <=>,结果如下:

strong_ordering::less: First operand less than second
strong_ordering::greater: First operand greater than second
strong_ordering::equal: Equal operands

对于符点:

partial_ordering::less: First operand less than second
partial_ordering::greater: First operand greater than second
partial_ordering::equivalent: Equal operands
partial_ordering::unordered: If one or both of the operands is not-a-number

对于自定义类型,也可以返回以下类型:

weak_ordering::less: First operand less than second 
weak_ordering::greater: First operand greater than second
weak_ordering::equivalent: Equal operands

<compare>也提供了其他的方法可以使用:
is_eq(), is_neq(), is_lt(), is_lteq(), is_gt(), and is_gteq()

consteval

类比于constexpr 可能在编译期间执行,consteval可以保证会在编译期间执行

std::string_view

const char *的替代品,只读字符串,也同时支持std::string的功能

Linux上的内存泄漏检测工具 Valgrind

输出会是如下的样子:


image.png

相关文章

  • C++20 读书笔记(1)

    最近在看C++20相关的内容,本篇记录下遇到的比较好用的特性 Module C++20新增的4个大特性之一,Mod...

  • C++20:标准库

    原文详见:C++20: The Library 在上篇文章 C++20:核心语言 中我们介绍了 C++20 的核心...

  • C++20:并发

    原文详见:C++20: Concurrency 本篇是 C++20 概览系列的最后一篇。今天我将介绍 C++ 新标...

  • C++20:概念之细节

    原文详见:C++20: Concepts, the Details 在我的上一篇文章 C++20:两个极端和概念的...

  • C++20 读书笔记(2)

    本篇介绍 本篇继续c++20的学习 传参 都知道在传递比较复杂的参数的时候,最好用const &,如果要支持左值应...

  • C++20:两个极端与概念的救赎

    原文详见:C++20: Two Extremes and the Rescue with Concepts 我们在...

  • C++20学习:基于Ubuntu系统编译gcc10.2.0

    问题 c++20标准已经发布,c++20有比较多的新特性。想尝个先,虽然目前还没有一个编译器能够完全支持c++20...

  • C++雾中风景18:C++20, 从concept开始

    转眼间,C++20的标准已经发布快两年了。不少C++的开源项目也已经将标准升级到最新的C++20了,笔者也开启了新...

  • C++20

    Big Four:Concept:解决模板Coroutines:解决异步Ranges:STL高级Modules:解...

  • C++20 以 Bazel & Clang 开始

    C++20 如何以 Bazel & Clang 进行构建呢? 本文将介绍: Bazel[https://bazel...

网友评论

      本文标题:C++20 读书笔记(1)

      本文链接:https://www.haomeiwen.com/subject/leumgrtx.html