前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++20 读书笔记(1)

C++20 读书笔记(1)

作者头像
一只小虾米
发布2022-10-25 16:53:39
2160
发布2022-10-25 16:53:39
举报
文章被收录于专栏:Android点滴分享

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

Module

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

std::format

推荐的格式化字符串方法

if语句支持初始化变量

代码语言:javascript
复制
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

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

代码语言:javascript
复制
strong_ordering::less: First operand less than second
strong_ordering::greater: First operand greater than second
strong_ordering::equal: Equal operands

对于符点:

代码语言:javascript
复制
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

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

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Module
  • std::format
  • if语句支持初始化变量
  • Three-Way Comparisons
  • consteval
  • std::string_view
  • Linux上的内存泄漏检测工具 Valgrind
相关产品与服务
检测工具
域名服务检测工具(Detection Tools)提供了全面的智能化域名诊断,包括Whois、DNS生效等特性检测,同时提供SSL证书相关特性检测,保障您的域名和网站健康。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档