if-else 语句控制条件分支。 仅当 计算结果为非零值(或 )时,才会执行 中的语句。 如果 的值为非零,则执行以下语句,并跳过以下可选 语句后面的语句。 否则,将跳过以下语句,如果存在 ,则随后执行 后面的语句。
计算结果为非零的 表达式包括:
- 非 null 指针,
- 任何非零算术值,或
- 一种类类型,用于定义对算术、布尔值或指针类型的明确转换。 (有关转换的信息,请参阅标准转换。)
:
:
opt
:
:
opt
:
opt
:
:
:
:
opt17 opt17
opt17 opt17
17 从 C++17 开始,此可选元素可用。
在 语句的所有形式中,可计算 , 它具有除了结构以外的任何值,包括所有副作用。 控制从 语句传递给程序中的下一个语句,除非已执行的 或 包含 、 或 。
语句的 子句与同一范围内没有相应 语句的最接近的上一个 语句相关联。
此示例代码演示了多个正在使用的 语句,包括使用和不使用 :
输出:
从 C++17 开始, 语句还可能包含声明和初始化命名变量的 表达式。 当变量仅在 if-statement 范围内需要时,请使用 if-statement 的此形式。 特定于 Microsoft:此形式从 Visual Studio 2017 版本 15.3 开始提供,至少需要 编译器选项。
输出:
从 C++17 开始,可以使用函数模板中的 语句做出编译时分支决策,而无需求助于多个函数重载。 特定于 Microsoft:此形式从 Visual Studio 2017 版本 15.3 开始提供,至少需要 编译器选项。
此示例演示如何根据发送到模板的类型有条件地编译模板:
语句在编译时计算,编译器仅生成与发送到函数模板的参数类型匹配的 分支的代码。 如果注释掉 语句并取消注释 语句,编译器将为这两个分支生成代码。 这意味着你收到错误:
- 如果调用 ,即使 语句为 false 且代码从不执行,你也会在 上收到错误,因为 不是指针。
- 如果调用 ,即使 语句为 true 且代码从不执行,你也会在 上收到错误,因为 是指针。
使用 可解决此问题,因为只有与发送到函数模板的参数类型匹配的语句才会被编译。
输出:
到此这篇ifstream用法例子(ifstream函数)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/haskellbc/49488.html