нужен ли мне перерыв после возврата в моей функции?

#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 , является мертвым кодом.