На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
Страницы: (78) « Первая ... 63 64 [65] 66 67 ...  77 78  ( Перейти к последнему сообщению )  
> Текущий Стандарт С++ и перспективы его развития
    korvin, прочти еще раз что я писал. я с мобилы сижу, поэтому коротко все. не хочу повторяться. ага, википедия рулит) кстати, я не на 100% ей доверяю.
      We have C++14. А вы?
        Наткнулся тут недавно, что в шейдерах, в GLSL, реализован оператор ^^. Означает, как и ожидалось, исключающее ИЛИ, но не бинарное, а "выражения" (подобие || и &&). В Си такой штуки не завели, а вполне могли бы. Но потом я подумал, что это бы пользовалось сверхредко. А что думаете вы, спецы и пользователи С/С++ ? :scratch:
          Зачем он нужен? Обычный != его вполне заменяет.
            Цитата Qraizer @
            Зачем он нужен? Обычный != его вполне заменяет.
            Ну так выражение "4 != 6" вернёт true, а "4^^6" вернёт false. :blush:
              Это проблема? !!4 != !!6
                Цитата Славян @
                а "4^^6" вернёт false.

                А как оно работает? Как-то вроде (a^b) == a + b?

                Добавлено
                А, он чисто для булевских типов. Тогда так, как предложил Qraizer. Но в логических выражениях я и обычным ^ пользуюсь. В общем, мое имхо - оператор не нужен :)
                  При переходе с VB6 мне ^^ не хватало в условиях if'а.
                    Цитата Qraizer @
                    Это проблема? !!4 != !!6
                    Можно даже немного сократить: !4 != !6
                    А когда нужно значение, чуть быстрее работает !4 ^ !6
                      А что нового в С++14 и где можно прочитать?
                          Нда, примеры там эпичны, особенно Variable Template.
                          circle_area(10) на выходе получим очень точную площадь равную 300. 314 никак и не получится даже.

                          Ну и в принципе не понимаю, какую траву авторы стандарта курили, чтобы сделать ' разделителем в числе, чтобы убить к чертям подсветку синтаксиса в редакторах?
                            Цитата Axis @
                            Ну и в принципе не понимаю, какую траву авторы стандарта курили, чтобы сделать ' разделителем в числе, чтобы убить к чертям подсветку синтаксиса в редакторах?

                            А ты бы что предложил? Символ ' используется многими калькуляторами, поэтому логично использовать именно его.
                              Цитата Kray74 @
                              А ты бы что предложил? Символ ' используется многими калькуляторами, поэтому логично использовать именно его.
                              Я бы предложил в первую очередь пробел, но думаю, что с грамматикой возникнет жестокая проблема. Поэтому уж лучше какой-нить более или менее нейтральный символ, к примеру знак подчеркивания. А учитывая тот факт, что символ ' уже имеет определенное назначение, то использовать его вводит очередную путаницу.
                                Цитата Kray74 @
                                Например.

                                а чем отличается:
                                ExpandedWrap disabled
                                  auto f = [lower = lower_bound(), upper = upper_bound() ] (int x) -> int {
                                    if (x<lower) return lower;
                                    if (x>upper) return upper;
                                    return x;
                                  };

                                от
                                ExpandedWrap disabled
                                  auto f = [] (int x) -> int {
                                    auto lower = lower_bound();
                                    auto upper = upper_bound();
                                   
                                    if (x<lower) return lower;
                                    if (x>upper) return upper;
                                    return x;
                                  };


                                в первом случае lower и upper - это поля объекта, во втором - локальные переменные...
                                не чувствую никакой разницы кроме читабельности:
                                в первом случае внутри лямбды - только алгоритм, а во втором - нет огромной первой строки
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (78) « Первая ... 63 64 [65] 66 67 ...  77 78


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0924 ]   [ 16 queries used ]   [ Generated: 18.06.25, 08:25 GMT ]