Участник:Yulya3102/Плюсы2сем — различия между версиями
Yulya3102 (обсуждение | вклад) (Новая страница: «=== i8086 === === регистры общего назначения, сегментные регистры, регистр флагов === === некоторы...») |
(нет различий)
|
Версия 12:24, 18 января 2013
Содержание
- 1 i8086
- 2 регистры общего назначения, сегментные регистры, регистр флагов
- 3 некоторые распространенные команды
- 4 команды для работы со стеком
- 5 соглашения вызова функций
- 6 32-битные регистры
- 7 stack frame
- 8 ошибки: возврат указателя на локальную переменную из функции, buffer-overrun для объектов в стеке
- 9 stack-smash protector
- 10 toolchain: препроцессор, транслятор, компоновщик
- 11 модификатор static
- 12 модификатор inline
- 13 one definition rule (ODR)
- 14 классы
- 15 конструкторы
- 16 деструкторы
- 17 const
- 18 ссылки
- 19 разница между ссылками и указателями
- 20 l-value, r-value
- 21 перегрузка операторов
- 22 оператор присваивания
- 23 разница между конструктором копирования и оператором присваивания
- 24 список инициализации
- 25 порядок инициализации/разрушения полей класса
- 26 volatile
- 27 директивы препроцессора
- 28 #include <>
- 29 #include ""
- 30 #define
- 31 #if
- 32 #else
- 33 #endif
- 34 #elif
- 35 #ifdef
- 36 #ifndef
- 37 #undef
- 38 include guards
- 39 #pragma once
- 40 #pragma once vs include guards
- 41 preprocessor pitfalls
- 42 циклический экспанд макросов
- 43 циклические зависимости на хедерах
- 44 неполные типы
- 45 name mangling
- 46 перегрузка функций
- 47 исключения
- 48 RAII
- 49 гарантии безопасности исключений
- 50 extern "C"
- 51 исключения в конструкторах
- 52 исключения в деструкторах
- 53 stack unwinding
- 54 возврат объектов из функции по значению, RVO
- 55 передача аргументов по значению, r-value/l-value
- 56 callback'и, способы фиксации аргументов у callback'ов
- 57 наследование, виртуальные функции, таблицы виртуальных функций
- 58 dynamic_cast
- 59 проблемы сишного typecast'а с неполными типами и несколькими базами, static_cast
- 60 const_cast, reinterpret_cast
- 61 зачем нужно виртуальное наследование (несколько баз с разными адресами у одного класса, typecast'ы, исключения)
- 62 виртуальное наследование
- 63 зачем нужны namespace'ы
- 64 namespace'ы, using declaration, using directive, namespace aliases
- 65 перегрузка операторов, ADL
- 66 зачем нужны шаблоны
- 67 базовое представление о шаблонах
- 68 два способа реализации шаблонов: Cfront-like, Borland-like, преимущества и недостатки обоих
- 69 специализация, частичная специализация
- 70 type_traits'ы
- 71 Контейнеры STL
- 72 Sequences: vector, list, deque
- 73 Associative Containers: [unordered][_multi]{set/map}
- 74 Итераторы, категории итераторов (Input, Output, Forward, Bidirectional, Random Access)
- 75 Примеры алгоритмов
- 76 find, find_if, search
- 77 remove, remove_if, прием с erase/remove_if
- 78 sort, stable_sort, partial_sort, nth_element
- 79 Много разговоров на тему того, что хоть явных ограничений на параметры шаблона нет, это не означает что их нет совсем.
- 80 копируемость/присваиваемость
- 81 требования к operator==
- 82 требования к operator<
- 83 согласованность operator== и operator<
- 84 разница между операторами внутри класса и снаружи (неявное приведение типов)
- 85 safe-bool
- 86 использование type_traits: SFINAE, tag-dispatching на примере STL
- 87 two-phase name lookup
- 88 STL: back-inserter, lower_bound, heap_*, priority_queue
- 89 const на примере STL
- 90 Concepts
- 91 anonymous namespaces