c++展示,c+操作教程

首页 > 经验 > 作者:YD1662022-11-01 07:58:19

不适用场景:函数内部要调用C风格字符串为参数的子函数

std::string_view 并不是完美的,大部分时候,我们都可以使用std::string_view 替代const std::string&,我们可以把std::string_view理解成,一种同时拥有C语言的const char*的指针拷贝成本和 C 语言中std::string类大部分api的类型。但与std::string相比,std::string_view不提供c_str()函数,因为std::string_view具有以下缺点:

c++展示,c+操作教程(13)

四、if constexpr:按条件编译用法:

if constexpr语句是编译期的if判断语句,if constexpr要求后面的判断条件是一个编译期可以确定的常量。

用途:

用于编写需要进行编译期判断的函数,简化模版函数的书写。

适用场景1:简化模版偏特化的写法

编写模版函数时,有时需要对某些类型进行特殊处理,此时就需要写模板偏特化函数。比如下列代码展示的Convert函数的例子:

c++展示,c+操作教程(14)

在C 17里面,可以直接简化成一个函数:

c++展示,c+操作教程(15)

适用场景2:编写变参模版函数

在C 17之前,如果要编写一个变参模板函数,那么必须额外写一个函数处理入参数量最少时候的特例,下面以Sum函数为例:

在C 17中,可以这样编写:

c++展示,c+操作教程(16)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.