Здравствуйте, Vovka_R, Вы писали:
V_R>Госпада, подскажите пожалуйста слудующую вещь.
V_R>V_R>bool f1()
V_R>{
V_R> //...
V_R>}
V_R>bool f2()
V_R>{
V_R> //...
V_R>}
V_R>void main()
V_R>{
V_R> if( f1() || f2() )
V_R> //Что-то делаем
V_R> //...
V_R>}
V_R>
V_R>Так вот вопрос в следующем. Знаю точно, что если функция f1 выполнится, то следующее условие в операторе if даже проверяться не будет, т.е. f2 даже не вызовется. А вот и вопрос: определено ли такое поведение стандартом???
V_R>Спасибо!!!
Сорри что не прочитал весь тред снизу... Он слишком большой

а я слишком ленивый
Может там и есть то на чём я заострю...
А заострить я хочу на том, что операторы то эти перегружаются... А как их перегрузили... Оно тебе нада потом левій код изучать?
Так что я советую использовать вложенные конструкции if
if (f1())
{
}
else if (f2)
{
}
Меньше проблем + намного читабельней
Здравствуйте, remark, Вы писали:
R>Можно примеры.
((CString *) &p->m_pszInfo)->CString::CString (strInfo);
Вот такой код прекрасно компилировлся и работал в VC6.
R>Явный вызов конструктора был документирован?
Нет, это не было документировано. Но привел я этот пример в ответ на
Так они ещё и свои особенности, которые противоречат СТАНДАРТУ, тщательно поддерживают.
Что касается документированых несоответствий, то я с трудом представляю себе производителя, который бы в новых версиях убрал бы эти самые несоотвтетсвия — это потеря совместимости со старым кодом, и весьма вероятная потеря клиента. Тут, конечно, спорить нет никакого смысла.
Здравствуйте, Bell, Вы писали:
B>Здравствуйте, remark, Вы писали:
R>>Можно примеры.
B>B>((CString *) &p->m_pszInfo)->CString::CString (strInfo);
B>
B>Вот такой код прекрасно компилировлся и работал в VC6.
R>>Явный вызов конструктора был документирован?
B>Нет, это не было документировано. Но привел я этот пример в ответ на
B>B>Так они ещё и свои особенности, которые противоречат СТАНДАРТУ, тщательно поддерживают.
Тут я, конечно, имел в виду особенности, которые документированы, а не баги и т.д.
B>Что касается документированых несоответствий, то я с трудом представляю себе производителя, который бы в новых версиях убрал бы эти самые несоотвтетсвия — это потеря совместимости со старым кодом, и весьма вероятная потеря клиента. Тут, конечно, спорить нет никакого смысла.