🗊 Презентация Перегрузка метода по категории значения объекта

Нажмите для полного просмотра!
Перегрузка метода по категории значения объекта, слайд №1 Перегрузка метода по категории значения объекта, слайд №2 Перегрузка метода по категории значения объекта, слайд №3 Перегрузка метода по категории значения объекта, слайд №4 Перегрузка метода по категории значения объекта, слайд №5 Перегрузка метода по категории значения объекта, слайд №6 Перегрузка метода по категории значения объекта, слайд №7 Перегрузка метода по категории значения объекта, слайд №8 Перегрузка метода по категории значения объекта, слайд №9 Перегрузка метода по категории значения объекта, слайд №10 Перегрузка метода по категории значения объекта, слайд №11 Перегрузка метода по категории значения объекта, слайд №12 Перегрузка метода по категории значения объекта, слайд №13 Перегрузка метода по категории значения объекта, слайд №14 Перегрузка метода по категории значения объекта, слайд №15 Перегрузка метода по категории значения объекта, слайд №16 Перегрузка метода по категории значения объекта, слайд №17 Перегрузка метода по категории значения объекта, слайд №18 Перегрузка метода по категории значения объекта, слайд №19 Перегрузка метода по категории значения объекта, слайд №20 Перегрузка метода по категории значения объекта, слайд №21 Перегрузка метода по категории значения объекта, слайд №22 Перегрузка метода по категории значения объекта, слайд №23 Перегрузка метода по категории значения объекта, слайд №24 Перегрузка метода по категории значения объекта, слайд №25 Перегрузка метода по категории значения объекта, слайд №26 Перегрузка метода по категории значения объекта, слайд №27 Перегрузка метода по категории значения объекта, слайд №28 Перегрузка метода по категории значения объекта, слайд №29 Перегрузка метода по категории значения объекта, слайд №30 Перегрузка метода по категории значения объекта, слайд №31 Перегрузка метода по категории значения объекта, слайд №32 Перегрузка метода по категории значения объекта, слайд №33 Перегрузка метода по категории значения объекта, слайд №34 Перегрузка метода по категории значения объекта, слайд №35 Перегрузка метода по категории значения объекта, слайд №36 Перегрузка метода по категории значения объекта, слайд №37 Перегрузка метода по категории значения объекта, слайд №38 Перегрузка метода по категории значения объекта, слайд №39 Перегрузка метода по категории значения объекта, слайд №40 Перегрузка метода по категории значения объекта, слайд №41

Содержание

Вы можете ознакомиться и скачать презентацию на тему Перегрузка метода по категории значения объекта. Доклад-сообщение содержит 41 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Перегрузка метода по категории значения объекта, слайд №1
Описание слайда:

Слайд 2


Перегрузка метода по категории значения объекта Для перегрузки метода по категории значения объекта используются символы & и &&
Описание слайда:
Перегрузка метода по категории значения объекта Для перегрузки метода по категории значения объекта используются символы & и &&

Слайд 3


Перегрузка метода по категории значения объекта
Описание слайда:
Перегрузка метода по категории значения объекта

Слайд 4


Вывод типов шаблонов Компилятор использует expr для вывода двух типов: T и ParamType
Описание слайда:
Вывод типов шаблонов Компилятор использует expr для вывода двух типов: T и ParamType

Слайд 5


Три возможные ситуации при выводе типа шаблона Тип выводимый для T зависит не только от expr, но и от ParamType
Описание слайда:
Три возможные ситуации при выводе типа шаблона Тип выводимый для T зависит не только от expr, но и от ParamType

Слайд 6


Случай 1: ParamType ссылка или указатель, но не универсальная ссылка Правила вывода: Если тип expr – ссылка, то ссылочная часть игнорируется Затем...
Описание слайда:
Случай 1: ParamType ссылка или указатель, но не универсальная ссылка Правила вывода: Если тип expr – ссылка, то ссылочная часть игнорируется Затем тип expr сопоставляется с типом ParamType и выводится тип T

Слайд 7


Случай 1: ParamType ссылка или указатель, но не универсальная ссылка Другой пример:
Описание слайда:
Случай 1: ParamType ссылка или указатель, но не универсальная ссылка Другой пример:

Слайд 8


Случай 1: ParamType ссылка или указатель, но не универсальная ссылка С указателями все работает точно также:
Описание слайда:
Случай 1: ParamType ссылка или указатель, но не универсальная ссылка С указателями все работает точно также:

Слайд 9


Путаница с T&& В С++ существует небольшая путаница насчет T&&, так как в разных контекстах оно может обозначать rvalue – ссылки и универсальную...
Описание слайда:
Путаница с T&& В С++ существует небольшая путаница насчет T&&, так как в разных контекстах оно может обозначать rvalue – ссылки и универсальную ссылку. Например:

Слайд 10


Универсальные ссылки / краткий обзор Если T&& является универсальной ссылкой, то она может быть как lvalue – ссылкой, так и rvalue – ссылкой. Такая...
Описание слайда:
Универсальные ссылки / краткий обзор Если T&& является универсальной ссылкой, то она может быть как lvalue – ссылкой, так и rvalue – ссылкой. Такая ссылка может возникнуть только в шаблонном коде, либо в auto при выводе типов. Правила вывода для универсальных ссылок: Если expr – lvalue, то и T, и ParamType выводятся как lvalue – ссылки. Это единственная ситуация, где T может быть ссылкой. Если expr – rvalue, то применяются «обычные» правила из ситуации 1

Слайд 11


Случай 2: ParamType универсальная ссылка
Описание слайда:
Случай 2: ParamType универсальная ссылка

Слайд 12


Случай 3: ParamType не ссылка и не указатель Правила вывода: Если тип expr – ссылка, то ссылочная часть игнорируется Если expr – const, игнорировать...
Описание слайда:
Случай 3: ParamType не ссылка и не указатель Правила вывода: Если тип expr – ссылка, то ссылочная часть игнорируется Если expr – const, игнорировать константность

Слайд 13


Случай 3: ParamType не ссылка и не указатель Для переданных указателей игнорируется только const, который говорит, что указатель не может указывать...
Описание слайда:
Случай 3: ParamType не ссылка и не указатель Для переданных указателей игнорируется только const, который говорит, что указатель не может указывать ни на что другое, второй const сохраняется

Слайд 14


Запомнить При выводе типа в шаблонах, ссылочные фактические параметры трактуются как не ссылочные При выводе типа с формальным параметром –...
Описание слайда:
Запомнить При выводе типа в шаблонах, ссылочные фактические параметры трактуются как не ссылочные При выводе типа с формальным параметром – унверсальной ссылкой lvalue аргументы трактуются не обычным путем При выводе типа для формального параметра «по значению» модификатор const игнорируется

Слайд 15


Что будет выведено на экран и почему?
Описание слайда:
Что будет выведено на экран и почему?

Слайд 16


Reference Wrapper std::ref(T&) – находится в и может неявно приводится к (T&)
Описание слайда:
Reference Wrapper std::ref(T&) – находится в и может неявно приводится к (T&)

Слайд 17


Вывод типа для auto Правила вывода типа для auto точно такие же, как и для шаблонов с одним исключением. Посмотрим примеры:
Описание слайда:
Вывод типа для auto Правила вывода типа для auto точно такие же, как и для шаблонов с одним исключением. Посмотрим примеры:

Слайд 18


Исключение для вывода типа auto Вспомним варианты синтаксиса инициализации
Описание слайда:
Исключение для вывода типа auto Вспомним варианты синтаксиса инициализации

Слайд 19


Синтаксис λ - функции / замыкания [capture] (params) mutable exception_attribute ret_type { body } [capture] (params) ret_type { body } [capture]...
Описание слайда:
Синтаксис λ - функции / замыкания [capture] (params) mutable exception_attribute ret_type { body } [capture] (params) ret_type { body } [capture] (params) { body } [capture] { body }

Слайд 20


Сapture λ - функции Этот раздел λ - функции позволяет захватывать внешние переменные как по значению, так и по ссылке Возможные варианты: [a, &b] – а...
Описание слайда:
Сapture λ - функции Этот раздел λ - функции позволяет захватывать внешние переменные как по значению, так и по ссылке Возможные варианты: [a, &b] – а захвачено по значению, b – по ссылке [this] – захватывает указатель this текущего объекта [&] – захватывает все локальные переменные по ссылке [=] – захватывает все локальные переменные по значению

Слайд 21


Правила вывода возвращаемого значения λ - функции (до С++14) Если функция состоит из одной строчки return, то компилятор выводит тип возвращаемого...
Описание слайда:
Правила вывода возвращаемого значения λ - функции (до С++14) Если функция состоит из одной строчки return, то компилятор выводит тип возвращаемого значения по этой строчке, иначе – тип возвращаемого значения void. (c С++14) Компилятор находит строчку с return и выводит тип возвращаемого значения из неё

Слайд 22


Тип λ - функции Тип λ - функции знает только компилятор, но это не значит, что мы не можем хранить её в переменной, type - deduce позволяет нам...
Описание слайда:
Тип λ - функции Тип λ - функции знает только компилятор, но это не значит, что мы не можем хранить её в переменной, type - deduce позволяет нам работать с ним, не зная его.

Слайд 23


Пример λ - функции
Описание слайда:
Пример λ - функции

Слайд 24


Пример λ - функции
Описание слайда:
Пример λ - функции

Слайд 25


Пример захвата переменных
Описание слайда:
Пример захвата переменных

Слайд 26


Пример захвата переменных
Описание слайда:
Пример захвата переменных

Слайд 27


Для С++11 сказочка с выводом auto - типов закончилась А вот С++14 расширяет возможность использования auto, позволяя использовать auto в возвращаемых...
Описание слайда:
Для С++11 сказочка с выводом auto - типов закончилась А вот С++14 расширяет возможность использования auto, позволяя использовать auto в возвращаемых значениях функций и в формальных параметрах λ – функций. Причем в этих контекстах вывод типа для auto совсем ничем не отличается от шаблонного вывода

Слайд 28


auto в параметрах λ – функций
Описание слайда:
auto в параметрах λ – функций

Слайд 29


Decltype вывод типов Decltype объявляет тип, как auto, но по выражению, переданному в него Синтаксис: decltype(expr)
Описание слайда:
Decltype вывод типов Decltype объявляет тип, как auto, но по выражению, переданному в него Синтаксис: decltype(expr)

Слайд 30


Примеры очевидного поведения decltype
Описание слайда:
Примеры очевидного поведения decltype

Слайд 31


Правила вывода decltype 1) Насколько возможно не изменять тип своего аргумента 2) Для lvalue выражения типа T отличного от простого имени объекта...
Описание слайда:
Правила вывода decltype 1) Насколько возможно не изменять тип своего аргумента 2) Для lvalue выражения типа T отличного от простого имени объекта всегда выводится T&

Слайд 32


Использование decltype в С++11 В С++11 decltype наиболее часто использовался в шаблонных функциях, где тип возвращаемого значения зависел от...
Описание слайда:
Использование decltype в С++11 В С++11 decltype наиболее часто использовался в шаблонных функциях, где тип возвращаемого значения зависел от передаваемых им аргументов.

Слайд 33


Trailing return type syntax
Описание слайда:
Trailing return type syntax

Слайд 34


В С++14 мы можем избежать такого синтаксиса Но, к сожалению, следующий вызов не скомпилируется (почему?)
Описание слайда:
В С++14 мы можем избежать такого синтаксиса Но, к сожалению, следующий вызов не скомпилируется (почему?)

Слайд 35


Исправляем: auto c правилами decltype А как быть с таким вариантом? (Не Visual Studio)
Описание слайда:
Исправляем: auto c правилами decltype А как быть с таким вариантом? (Не Visual Studio)

Слайд 36


Исправляем: добавляем универсальную ссылку
Описание слайда:
Исправляем: добавляем универсальную ссылку

Слайд 37


Perfect forwarding Какой недостаток у данной функции?
Описание слайда:
Perfect forwarding Какой недостаток у данной функции?

Слайд 38


Perfect forwarding Если arg lvalue – перемещения не будет Если arg rvalue – перемещение будет
Описание слайда:
Perfect forwarding Если arg lvalue – перемещения не будет Если arg rvalue – перемещение будет

Слайд 39


Теперь вернемся к примеру с authAndAccess
Описание слайда:
Теперь вернемся к примеру с authAndAccess

Слайд 40


Перегрузка метода по категории значения объекта, слайд №40
Описание слайда:

Слайд 41


На этом всё
Описание слайда:
На этом всё



Похожие презентации
Mypresentation.ru
Загрузить презентацию