Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Опять вопрос - почему так? |
Автор: it_medved 10.5.2007, 18:31 | ||
Почему в цикле for не срабатывает условие?? Я вообще думал, что код не откомрилируется. А он почему-то в бесконечном цикле. Обьясните почему так происходит
|
Автор: Daevaorn 10.5.2007, 18:33 |
it_medved, тут нет условия как такового. i = 10 не равно нулю, а следовательно всегда true |
Автор: it_medved 10.5.2007, 18:39 |
тю, я думал, что в условиях можно использовать только < > <= =>... А оказывается, что важно только то, что заключается в этих скобках? |
Автор: DigitSphinx 10.5.2007, 18:40 | ||
|
Автор: nickless 10.5.2007, 18:46 |
it_medved, в условиях можно использовать всё, что можно использовать как bool, а т.к. числа типа int != считаются true, а 0 false, то теоретически можно использовать вообще всё что имеет какое-либо значение ![]() |
Автор: it_medved 10.5.2007, 18:46 |
Да я знаю, как надо правильно, мне просто интересно сам по себе этот вопрос |
Автор: S.A.G. 10.5.2007, 18:46 | ||
Все что больше нуля всегда true, причем неважно что это - результат условной операции или выполнения присваивания. |
Автор: it_medved 10.5.2007, 18:47 | ||
А можно тогда даже использовать обьект своего класса??? |
Автор: S.A.G. 10.5.2007, 18:49 | ||||
Объект это как? Поля - ага. |
Автор: Daevaorn 10.5.2007, 18:50 |
да, если перегрузишь у него соответствующий оператор. |
Автор: nickless 10.5.2007, 18:51 | ||
Да, причем для класса можно перегрузить соответствующие операторы и использовать даже со смыслом ![]() Например в std::fstream можно проверять, открылся ли файл с помощью
|
Автор: it_medved 10.5.2007, 19:00 |
А какой такой оператор надо перегрузить, что бы можно было бы использовать обьект класса в условиях? |
Автор: JackYF 10.5.2007, 20:40 |
bool class_name::operator!() const |
Автор: it_medved 10.5.2007, 20:48 |
JackYF Сенкс! ![]() ![]() |
Автор: JackYF 11.5.2007, 15:18 |
Тьфу блин, было не туда отпостено. Удалено. |