Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 69, средняя оценка - 4.68
BondEros
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 10
#1

В чем разница между return и return false/true - C++

26.10.2009, 14:15. Просмотров 9370. Ответов 16
Метки нет (Все метки)

Привет всем. Вот подскажите плиз)

C++
1
2
3
return;
return false;
return true;
расскажите пожалуйста об етих операторах.. чем они отличаются от друг друга
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2009, 14:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В чем разница между return и return false/true (C++):

Как сделать так, что если файл существует return true, если нет - return false - C++
Здравствуйте, я новичок в программировании. Мой вопрос очень прост: как сделать так, что если файл существует return true если нет return...

В чем разница между [] и * ? - C++
Думал, что ни в чем, но когда попытался сделать так: (в файле 1) char lc; в файле 2: extern char* lc; Компилятор ругаться не стал,...

В чем разница между X x; и X x()? - C++
Корректный ли этот ответ?

В чем разница между С и С++ - C++
Возник вопрос в чем жи разница между С и С++ кроме того, что в С++ есть классы а в С их нету ?

В чем разница между new и malloc()? - C++
Всем доброго дня ! Начал читать книгу Пахомов Б. "C/C++ и MS Visual C++ 2008 для начинающих" До этого прочитал С++ за 21 день. ...

В чем разница между malloc и new? - C++
в чем разница? что лучше использовать?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ximerus
6 / 6 / 2
Регистрация: 17.07.2009
Сообщений: 5
26.10.2009, 14:47 #2
Оператор return; это оператор возвращения из функции и то что стоит после него возвращается в функцию из которой он вызывался! return false; возвращает ложь то есть 0, а return true; возвращает истину то 1!
2
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
26.10.2009, 16:12 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
return;
применяется для досрочного выхода из void функции
return false;
return true;
возращает значение из функции булевого типа.
4
ximerus
6 / 6 / 2
Регистрация: 17.07.2009
Сообщений: 5
26.10.2009, 17:12 #4
ну вот более опытный товарищь, разьяснил все в деталяХ!
2
ruslan_net
4 / 4 / 1
Регистрация: 18.09.2012
Сообщений: 38
31.10.2012, 23:05 #5
Подскажите как тут вернуть из функции flag=false. Пробовал по разному не могу разобраться

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int func (int k, int i, int j, bool flag, int p, int a[12][12])
{
       if (k==0)
                    {
                            if (((a[i-1][j-1])==1) || ((a[i-1][j])==1) || ((a[i-1][j+1])==1))  flag=false;
                            for(int k=1;k<=p;k++)
                            {
                                    if (((a[i][j-1])==1) || ((a[i][j])==1) || ((a[i][j+1])==1)) flag=false;
                                    i++;
                            }
                            if (((a[i+1][j-1])==1) || ((a[i+1][j])==1) || ((a[i+1][j+1])==1))  flag=false;
                            }
        else
                    {
                             if (((a[i-1][j-1])==1) || ((a[i][j-1]==1)) || ((a[i+1][j-1])==1))  flag=false;
                            for(int k=1;k<=p;k++)
                            {
                                if (((a[i-1][j])==1) || ((a[i][j])==1) || ((a[i+1][j])==1))  flag=false; 
                                    j++;
                            }
                            if (((a[i-1][j+1])==1) || ((a[i][j+1])==1) || ((a[i+1][j+1])==1))  flag=false;
                            }
       
       return flag;
}
0
angelgreys
9 / 9 / 0
Регистрация: 29.10.2012
Сообщений: 27
31.10.2012, 23:07 #6
замени
C++
1
int func (int k, int i, int j, bool flag, int p, int a[12][12])
на
C++
1
bool func (int k, int i, int j, bool flag, int p, int a[12][12])
1
ruslan_net
4 / 4 / 1
Регистрация: 18.09.2012
Сообщений: 38
01.11.2012, 02:25 #7
это да. Но еще что то flag всеравно не возвращается
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
01.11.2012, 02:45 #8
А зачем ты bool flag передаешь в функцию, если не используешь его ?
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.11.2012, 03:12 #9
Цитата Сообщение от ruslan_net Посмотреть сообщение
это да. Но еще что то flag всеравно не возвращается
Из чего видно?
0
ruslan_net
4 / 4 / 1
Регистрация: 18.09.2012
Сообщений: 38
01.11.2012, 22:12 #10
Цитата Сообщение от alsav22 Посмотреть сообщение
Из чего видно?
Когда пошагово просматриваю тогда и видно

Добавлено через 4 минуты
Цитата Сообщение от lazybiz Посмотреть сообщение
А зачем ты bool flag передаешь в функцию, если не используешь его ?
flag передеется в функцию со значением true, и если возвращается из функции true(т.е. ни чего не меняеся) то выполняется одно, а если false то другое. Почемуто возвращается всегда true
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
01.11.2012, 22:25 #11
Если всегда возвращается true, значит никогда не выполняется условие. Логично же.
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.11.2012, 23:14 #12
Цитата Сообщение от ruslan_net Посмотреть сообщение
Почемуто возвращается всегда true
Зачем тогда это писать?
Цитата Сообщение от ruslan_net Посмотреть сообщение
Но еще что то flag всеравно не возвращается
Добавлено через 1 минуту
Если true всегда возвращается, значит не срабатывает ни один if. Проверяйте условия.
0
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,925
Записей в блоге: 1
02.11.2012, 03:17 #13
Цитата Сообщение от alsav22 Посмотреть сообщение
Если true всегда возвращается, значит не срабатывает ни один if. Проверяйте условия.
Цитата Сообщение от lazybiz Посмотреть сообщение
Если всегда возвращается true, значит никогда не выполняется условие. Логично же.
Зачем человека путать? Под словом "возвращается" он полагает не return, а наивно считает, что флаг, переданный в функцию в качестве одного из аргументов это не копия, а оригинал той переменной, которую он прописывал в качестве параметра, передаваемого функции.

Короче, он наивно думает, что так работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int func(bool flag){
  if (...) flag=false;
 return flag;
}
int main(){
  bool flag=true;
  func(flag);
  if (!flag){
    //какое-то действие в надежде, что  flag изменился
  }
  //...
}
Нет, так не работает. Параметры в функцию передаются как копии значений. Что бы ты с ними внутри не делал, это не повлияет на переменные, из которых они копировались при вызове функции.
1
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.11.2012, 03:55 #14
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Зачем человека путать?
Это он всех запутал
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Под словом "возвращается" он полагает не return
Если бы он так полагал, то зачем ему делать в коде return flag ?

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Короче, он наивно думает, что так работает:
Как предположение годится, а как на самом деле ТС обрабатывает возвращаемое значение (и обрабатывает ли вообще) неизвестно. Может пояснит?
0
castaway
Эксперт С++
4884 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
02.11.2012, 11:30 #15
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Под словом "возвращается" он полагает не return, а наивно считает, что флаг, переданный в функцию в качестве одного из аргументов это не копия, а оригинал той переменной, которую он прописывал в качестве параметра, передаваемого функции.
Ну мы ж не телепаты. Как спросил так и ответили.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2012, 11:30
Привет! Вот еще темы с ответами:

В чем разница между const и constexpr? - C++
Когда стоит применять constexpr? В чём его отличие от const? Если можно конкретные примеры в их различиях. Например, constexpr int m =...

В чем разница между push_back и push? - C++
Подскажите пожалуйста, в чем состоит отличие Push_back и просто Push? Они оба насколько я знаю добавляют значение в конец, но например у...

В чем разница между Debug and Release? - C++
Какие действия выполняет debug в Visual studio и какие Release, в чем разница? Никогда не задавался этим фундаментальным вопросом, что...

В чем разница между f.read(),f.write() и f<<., f>>.? - C++
В чем разница между f.read(),f.write() и f&lt;&lt;..., f&gt;&gt;...?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.11.2012, 11:30
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru