' if '语句的奇数符号
Odd notation for `if` statement
我正在查看一些遗留代码,其中我遇到了以下if
语句
if (!(foo == bar)){
// lots of code here
}
与
相比,写这个有什么好处?if (foo != bar){
}
如果相关,代码库为c++
它们应该是等价的,对于普通的旧数据类型它们当然是等价的,但是如果作者(非常规地)为==
而不是!=
提供了重载操作符,那么第二种写法将不可用。
为了可读性,我想我更愿意看到
if (foo == bar){
// do nothing
} else {
// lots of code here
}
,尽管最清晰的方法是调整代码库以提供!=
操作符,并让您采用编写此代码的第二种方法。
类型(模板参数)的需求(概念)可能包括EqualityComparable
,但不包括NotEqualityComparable
(它不存在如http://en.cppreference.com/w/cpp/concept中列出的库概念)。
LessThanComparable概念与此类似:c++算法不需要大于的概念(这是多余的)。
相关文章:
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- 我的简单if-else语句是如何无法访问的代码
- 将无符号char*转换为std::istream*C++
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 为什么是0;C++中的有效语句
- vscode g++链路故障:体系结构x86_64的未定义符号
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- 如何理解将半精度指针转换为无符号长指针和相关的内存对齐
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 使用gcc从静态链接的文件中查找可选符号
- Insert函数不适用于2 if语句C++
- If语句未被求值C++
- C++中无符号字符溢出
- C++嵌套if语句,基本货币交换
- 假设if语句中不发生有符号溢出
- ' if '语句的奇数符号
- OpenMP - OpenMP 语句中的索引变量'for'必须具有有符号整型