考虑我有以下内容:
edge some_edge;
std::priority_queue<edge> my_queue;
即使队列可能是空的,写这样的“如果”是否安全?
if ((my_queue.size() > 0) && (my_queue.top().weight < some_edge.weight)) {
do_something;
}
这个如何?
if ((my_queue.top().weight < some_edge.weight) && (my_queue.size() > 0)) {
do_something;
}
如果左操作数的计算结果为假,则计算操作数之间的运算符为“and”的表达式是否停止?