Size: a a a

cxx.Дискуссионная

2020 April 19

RM

Roy Mustang in cxx.Дискуссионная
Вот к примеру, я хочу узнать сколько амперсантов у T и сколько у int что я передаю
источник

RM

Roy Mustang in cxx.Дискуссионная
Artöm Bakri Al-Sarmini
Все, что я сейчас рассказываю, объясняет Мейерс за полчаса
Вот как раз хотел почитать его книгу
источник

RM

Roy Mustang in cxx.Дискуссионная
Она у меня открыта уже на вкладке
источник

RM

Roy Mustang in cxx.Дискуссионная
источник

AB

Artöm Bakri Al-Sarmi... in cxx.Дискуссионная
Roy Mustang
Как правильно проверить сам T и то что туда передается?
В foo
static_assert(std::is_same_v<T, int&>);
static_assert(std::is_same_v<T&&, int&>);
источник

RM

Roy Mustang in cxx.Дискуссионная
Хотел закрепить новый материал и прочитать, а то все говорят прочитай, прочитай
источник

AB

Artöm Bakri Al-Sarmi... in cxx.Дискуссионная
Я это смотрел на ютубе, его книги пока к сожалению не читал
источник

RM

Roy Mustang in cxx.Дискуссионная
Я нашел в переводе
источник

IL

Ilya L in cxx.Дискуссионная
Roy Mustang
Хотел закрепить новый материал и прочитать, а то все говорят прочитай, прочитай
Да, лучше прочитать. Она очень годная и он очень хорошо объясняет
источник

IL

Ilya L in cxx.Дискуссионная
И без воды
источник

O

Ofee in cxx.Дискуссионная
@r_mustang, да хватит мучиться, всё же просто, чем является T видно даже визуально:
        cv int  &
        ^^^^^^^^^^
          |      |
...foo(    T      &&)...

        cv int   &&
        ^^^^^^   ^^
           |     |
...foo(     T     &&)...


          cv int &&
          ^^^^^^^^^
             |
...foo(       T      )...


          const int &&
          ^^^^^^^^^^^^
             |
...foo(       T      )...



      const   int &&
      ^^^^^   ^^^^^^^
        |        |
...foo(const      T      )...

Или я неправильно понял, в чём ты путаешься? Или, пока я это печатал, может, всё стало понятно...
источник

RM

Roy Mustang in cxx.Дискуссионная
Ofee
@r_mustang, да хватит мучиться, всё же просто, чем является T видно даже визуально:
        cv int  &
        ^^^^^^^^^^
          |      |
...foo(    T      &&)...

        cv int   &&
        ^^^^^^   ^^
           |     |
...foo(     T     &&)...


          cv int &&
          ^^^^^^^^^
             |
...foo(       T      )...


          const int &&
          ^^^^^^^^^^^^
             |
...foo(       T      )...



      const   int &&
      ^^^^^   ^^^^^^^
        |        |
...foo(const      T      )...

Или я неправильно понял, в чём ты путаешься? Или, пока я это печатал, может, всё стало понятно...
Как ты вывел?
источник

O

Ofee in cxx.Дискуссионная
Roy Mustang
Как ты вывел?
Что вывел?
источник

O

Ofee in cxx.Дискуссионная
Ofee
@r_mustang, да хватит мучиться, всё же просто, чем является T видно даже визуально:
        cv int  &
        ^^^^^^^^^^
          |      |
...foo(    T      &&)...

        cv int   &&
        ^^^^^^   ^^
           |     |
...foo(     T     &&)...


          cv int &&
          ^^^^^^^^^
             |
...foo(       T      )...


          const int &&
          ^^^^^^^^^^^^
             |
...foo(       T      )...



      const   int &&
      ^^^^^   ^^^^^^^
        |        |
...foo(const      T      )...

Или я неправильно понял, в чём ты путаешься? Или, пока я это печатал, может, всё стало понятно...
Недеюсь, я ничего не напутал и это не будет нелепым фейлом из-за того, что я сонный...
источник

AB

Artöm Bakri Al-Sarmi... in cxx.Дискуссионная
Я вижу идею, но непонятно, как тут обозначен тип T. В первом примере должен быть cv int&
источник

AB

Artöm Bakri Al-Sarmi... in cxx.Дискуссионная
В 3, 4, 5 инт. Я так понял, что там передача по значению, а над функцией указан тип передаваемого выражения
источник

AB

Artöm Bakri Al-Sarmi... in cxx.Дискуссионная
@r_mustang у меня еще вопросы по типам есть, что вспоминаю. Есть даже интересные
источник

AB

Artöm Bakri Al-Sarmi... in cxx.Дискуссионная
Например
using T = int&
using U = const T;

какой тип U?
источник

O

Ofee in cxx.Дискуссионная
Artöm Bakri Al-Sarmini
Я вижу идею, но непонятно, как тут обозначен тип T. В первом примере должен быть cv int&
Да, в первом действительно ошибка
источник

O

Ofee in cxx.Дискуссионная
Ofee
@r_mustang, да хватит мучиться, всё же просто, чем является T видно даже визуально:
        cv int  &
        ^^^^^^^^^^
          |      |
...foo(    T      &&)...

        cv int   &&
        ^^^^^^   ^^
           |     |
...foo(     T     &&)...


          cv int &&
          ^^^^^^^^^
             |
...foo(       T      )...


          const int &&
          ^^^^^^^^^^^^
             |
...foo(       T      )...



      const   int &&
      ^^^^^   ^^^^^^^
        |        |
...foo(const      T      )...

Или я неправильно понял, в чём ты путаешься? Или, пока я это печатал, может, всё стало понятно...
Не знаю, как лучше графически отобразить, чтобы показать, что ещё и в сжатии ссылок участвует
источник