#c #oop
#c #ооп
Вопрос:
это функция в моем коде:
bool same_community(string s1, string s2)//check if student 1 amp; student 2 are in the same community
{
for(int i=0;i<number_of_communities;i )
if(community[i].contains(s1) amp;amp; community[i].contains(s2))
{
return true;
break;
}
return false
}
нужен ли перерыв после возврата true?
Комментарии:
1. Нет, но я предлагаю лучший отступ 🙂 Ах… И я даже предлагаю всегда использовать {} даже для одиночных строк. И передачи s1 и s2 как
const stringamp;
2. Вам не нужно прерываться после возврата.
3. Вы никогда не достигнете перерыва! В зависимости от вашего компилятора (настроек) вы также получите предупреждение или ошибку.
4. И если вы не получаете предупреждение, это хороший признак того, что вам следует скомпилировать с настройками, которые дают больше предупреждений, или, при необходимости, изменить компилятор 🙂
5. Обратите внимание, что если break был доступен, это означало бы, что тогда будет достигнуто значение return false , и, следовательно, ваш первоначальный возврат true не будет иметь смысла. Кроме того, это означало бы, что оператор return будет неоперабельным внутри метода.
Ответ №1:
Нет. Это мертвый код и, скорее всего, будет удален оптимизатором вашего компилятора. Удалите его, поскольку это снижает читаемость вашего кода.
Ответ №2:
Нет, return
инструкции достаточно для выхода из цикла.
Ответ №3:
Нет. Перерыв не нужен. Возврата достаточно.
Ответ №4:
Нет, вам не нужно. Возвращаемое выражение заставляет поток выполнения покинуть функцию. Все, что после возврата, не будет выполнено.
Ответ №5:
Нет, вам не нужно использовать break
. Он используется для досрочного завершения цикла, но return
(в рамках подпрограммы) также завершит любой цикл, в котором он находится. Все, что следует return
, является мертвым кодом.