总结C++17的新特性-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

在陇西等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都做网站 网站设计制作按需求定制制作,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销,外贸营销网站建设,陇西网站建设费用合理。

这篇文章主要讲解了总结C++17的新特性,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

C++17

编译器版本:GCC 7.1、Clang 5.0

__cplusplus:201703L

编译选项:-std=c++17

1 关键字
1.1 constexpr

扩展constexpr使用范围,可用于if语句中,也可用于lambda表达式中。

例子1:

#include
 
template
constexpr void foo()
{
 //在编译期进行判断,if和else语句不生成代码
 if constexpr (ok == true)
 {
  //当ok为true时,下面的else块不生成汇编代码
  std::cout << "ok" << std::endl;
 }
 else
 {
  //当ok为false时,上面的if块不生成汇编代码
  std::cout << "not ok" << std::endl;
 }
}
 
int main()
{
 foo();//输出ok,并且汇编代码中只有std::cout << "ok" << std::endl;这一句
 foo();//输出not ok,并且汇编代码中只有std::cout << "not ok" << std::endl;这一句
 return 0;
}

分享文章:总结C++17的新特性-创新互联
地址分享:http://ybzwz.com/article/dhoodc.html