C++ + C++

Тема в разделе "LANGS.C", создана пользователем Nouzui, 4 мар 2007.

  1. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    пойду ка я php лучше учить oO

    bers
    все правильно, i++ увеличивает i, но его значением должно быть старое значение переменной, то есть 0
     
  2. bers

    bers New Member

    Публикаций:
    0
    Регистрация:
    16 сен 2005
    Сообщения:
    139
    Адрес:
    Russia
    Но ведь написано же
    (это из http://msdn2.microsoft.com/en-us/library/ms861609.aspx).
     
  3. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    а они и завершаются.. в стандарт лезть лень, лучше так напишу:
    k = (i++) || (j++); эквивалентно

    tmp1= i;
    i+= i;
    if(tmp1)
    {
    k= true;
    }
    else
    {
    tmp2= j;
    // j+= 1;
    k= tmp2?true:false;
    // j+= 1;
    }

    из двух j+= 1; выполнится только один, но какой именно - неизвестно.
     
  4. bers

    bers New Member

    Публикаций:
    0
    Регистрация:
    16 сен 2005
    Сообщения:
    139
    Адрес:
    Russia
    А, ну если так, то похоже на правду ))
     
  5. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    кстати, по поводу..
    стандарт обязывает не вычислять второй операнд || или просто разрешает этого не делать?
     
  6. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    Nouzui

    Обязывает, если оператор не перегружен.
     
  7. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    ну, что только если не перегружен, понятно