C++:无论如何,有什么可以知道是什么触发了 If 语句
C++: Is there anyway to know what triggered an If-Statement?
假设我有一个这样的if语句:
if ( x < 0 || y < 0 || z < 0) {
cout << "Something is less than zero!";
}
有没有办法知道析取中的哪个析取触发了 if 语句?还是有必要编写三个单独的 if 语句来实现这个目的?
编辑:目标是缩短该过程。显然,编写超过三个单独的 if-then 语句的代码(对于这种情况(都无法实现此目标。
说到愚蠢的复杂方法:
convoluted_and_stupid( x < 0, y < 0, z < 0 );
void convoluted_and_stupid( bool xlz, bool ylz, bool zyz )
{
if( xlz || ylz || zlz )
cout << "something is less than zero!n";
if( xlz )
cout << "it is x!n";
if( ylz )
cout << "it is y!n";
if( zlz )
cout << "it is z!n";
}
在这种情况下,答案是否定的,如果不为每个变量添加额外的嵌套 ifs,你就无法真正判断三个变量中的哪一个是 0 <。你所知道的是,其中至少有一个(但可能不止一个(是。
相关文章:
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 主线的等价语句是什么
- 是什么使这个以'+'开头的字符串添加成为有效的语句?
- 在 if 语句中处理多个 or 的更优雅的方法是什么
- "1L << count"是什么意思?如何使用超出"unsigned long long int? "范围的语句编号打印?
- 学习时空复杂性时语句XYZ的含义是什么?
- C++:无论如何,有什么可以知道是什么触发了 If 语句
- 语句中分配给 num 的值是什么
- for 循环后的分号是什么意思?为什么第一个循环语句中有 j++
- 这个语句到底是什么意思 stack<int, list<int> > 它与 stack 有何不同<int>?
- 打印此矩阵的 if 语句是什么
- 在使用语句中指定类名的内容是什么
- 当我需要添加一个无用的返回语句时,C++约定是什么
- 当C/C++程序切换语句转到未定义的大小写并且缺少默认值时,它的正确行为是什么:
- 下面的C++语句是什么意思
- 查找语句中的"!=vector.end()"是什么意思?
- 切换或 if 语句 - C++中更清楚的是什么
- 开关语句中的逗号运算符是什么意思
- 条件语句在比较表达式时的基础是什么?
- 在下面的C++语句中放置 const 的好地方是什么