C++中逗号表达式的应用
Posted 松子茶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中逗号表达式的应用相关的知识,希望对你有一定的参考价值。
假设我们的程序需要调用三个函数f,g,h。其中f和h可能失败,可能成功,而g一定成功。f和h有返回值,g没有返回值。我们可能得写这样的代码:
if (f()!=SUCCESS)
//abort
else
g();
if (h()!=SUCCESS)
由于g没有返回值,因此这么写似乎是天经地义的。能不能优雅点?借助于逗号表达式,我们可以这样:
if (f()!=SUCCESS)
else if (g(),false) //逗号表达式
//we will never be here...
else if (h()!=SUCCESS)
形式上更加优美,但是和之前的写法相比可读性较差,并且使用了三次比较,之前只需要两次比较。
在C++中,逗号表达式有时候是一种很有用的工具:(A,B,C),则从左到右求值,最后C的(返回)值作为整个表达式的值。
以上是关于C++中逗号表达式的应用的主要内容,如果未能解决你的问题,请参考以下文章
機器學習基石 机器学习基石 (Machine Learning Foundations) 作业二 Q19-20 C++实现
機器學習基石 机器学习基石 (Machine Learining Foundations) 作业2 Q16-18 C++实现