锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 技术中心 / C++开源社区 / C++语法开源 / C++17if和switch初始化语句

服务方向

人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
量化预测
股票离线分析软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发

联系方式

固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

锐英源精品原创,禁止转载和任何形式的非法内容使用,违者必究。点名“简易百科”和“闲暇巴”盗用锐英源原创内容。


C++17if和switch初始化语句


先说评语,这不是个大改动点,C++17if和switch初始化语句其实是C++17if和switch行内带变量初始化语句,把原来放外面的定义和初始化语句可以放if和switch括号里。

if语句的改进还算有用,但是switch完全没必要,switch的()里的值,可以直接是个函数调用,再加上个初始化部分,纯属多余。

switch旧风格:

switch (getabc())

switch在C++17里可以写的风格:

switch(auto a(getabc());a)

这风格的语法形式是:

switch (init; condition)

旧风格反而代码量更少。

if的新风格如下:

if(auto a(getabc());a>10)

这风格的语法形式是:

if (init; condition)

if还算有用,是因为少了一行代码。另外判断变量a在块外不可用,有保护作用,也让函数栈少用一点点空间。

但是,现在到外是代码提示,代码自动完成功能,这些优化实在意义不大。

不过,国外C++爱好者可能会用这些功能,因为他们会追随这个风格。这些风格和for语句有点像。

友情链接
版权所有 Copyright(c)2004-2024 锐英源软件
统一社会信用代码:91410105098562502G 豫ICP备08007559号 最佳分辨率 1440*900
地址:郑州市金水区文化路97号郑州大学北区院内南门附近