gpt4 book ai didi

c++ - 在 For 循环中使用 {} 且不使用 {} 的 If 语句

转载 作者:太空宇宙 更新时间:2023-11-03 10:31:29 25 4
gpt4 key购买 nike

我在 vector 中有一个队列循环,我需要在队列循环中搜索以找到最小索引队列和最大大小队列。

我正在使用下面的代码

int min_index = 0;
int max_size = -1;
std::size_t size = q.size();
for( i=0; i<size; i++){ //accessing loop of queues
if(q[min_index].size() > q[i].size())
min_index = i; // Now q[min_index] is min_index is the minimum size queue
if(q[i].size() > max_size)
max_size = q[i].size(); // maximum size queue
}

我有点怀疑是否像下面的代码一样为每个 if 语句 使用 {}

int min_index = 0;
int max_size = -1;
std::size_t size = q.size();
for( i=0; i<size; i++){ //accessing loop of queues
if(q[min_index].size() > q[i].size()){
min_index = i; // Now q[min_index] is the shortest queue
}
if(q[i].size() > max_size){
max_size = q[i].size(); // longest queue
}
}

哪个是正确的,使用和不使用 {} 会有什么区别。对不起,如果这是一个愚蠢的问题。我是编程新手。

最佳答案

在您的情况下,这两个代码之间没有区别

if(SOMETHING)
DO_SOMETHING;

相同

if(SOMETHING) {
DO_SOMETHING;
}

但是

 if(SOMETHING)
DO_SOMETHING_1;
DO_SOMETHING_2; //DO_SOMETHING_2 will be performed whether the `if` condition
//is satisfied or not

相同
 if(SOMETHING) {
DO_SOMETHING_1;
DO_SOMETHING_2; //DO_SOMETHING_2 will be performed only if the `if` condition
} //is satisfied, since it is inside the curly parentheses

在您的情况下,由于 if block 仅包含一个语句,因此不需要大括号(尽管如果它让您感到困惑,建议使用它们来澄清事情)..

关于c++ - 在 For 循环中使用 {} 且不使用 {} 的 If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15338948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com