c++ - 有没有办法确定编译器在编译时以哪种方式执行多条件 if 语句

标签 c++ c

<分区>

我想执行一个多条件 if 语句,如下所示。

Head* head;
If ((head->next!=NULL)&&(head->next->next!=NULL))

执行顺序对于上述语句在没有段错误的情况下工作很重要。

有没有办法在编译时确定编译器执行它的方式。

最佳答案

标准。

你保证第一个表达式将首先被评估。

此外,您可以保证如果第一个评估为 false,则不会评估第二个(查找短路)。如果这没有发生,则编译器不兼容。

关于c++ - 有没有办法确定编译器在编译时以哪种方式执行多条件 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27986442/

相关文章:

c++ - 使用自己的标准库在 C++ 中扫描文件

将用户输入转换为 unicode

c - 使用 OpenSSL BIGNUM 求加法逆

c++ - 在 gcc Linux 中将静态库链接到动态库

有人能解释一下为什么这个 C 代码没有编译我的 else if 语句吗?

c - 如何使用和构建一个 makefile 来将 scip 链接到 C?

c++ - 从 .srt 文件中读取时间字符串并更改它的函数

c++ - 可变参数模板、参数包及其在参数列表中讨论的歧义

c++ - 返回字符串流 (char*)

c++ - 如何将多个整数添加到字符数组,然后将它们拉出?