|
|
Авторизация |
|
|
Поиск по указателям |
|
|
|
|
|
|
|
|
|
|
Мэйерс С. — Эффективное использование C++ 55 верных способов улучшить структуру и код ваших программ |
|
|
Предметный указатель |
#define и const 28 29
#define и встроенные функции 31
#define и отладчики 28
#define, недостатки 28 30
#ifdef 31
#ifndef 31
.NET 22 89 140 149 195 см.
1066 154
2-я редакция этой книги сравнение с 3-й редакцией 15—16 272—274 см.
3-я редакция этой книги сравнение со 2-й редакцией 15—16 272—274 см.
80—20, правило 143 170—171
<iosfwd> 148
=, и инициализация присваивание 21
ASPECT_RATIO 28
auto_ptr см. "std::auto_ptr"
bidirectionsl_iterator_tag 227
Boost 24—25 264—267
Boost, Graph Library 266
Boost, MPL Library 266
Boost, scoped_array 76 215 267
Boost, shared_array 76
Boost, TR1 и 24—25 263—264
Boost, Web-страница 11
Boost, библиотека Conversion 265
Boost, библиотека Lambda 266
Boost, библиотека Pool 247
Boost, интеллектуальные указатели 75 267
Boost, класс noncopyable 51—52
Boost, класс std::tr1 263
Boost, контейнеры в 266
Boost, корректность и тестирование 267
Boost, математические и числовые библиотеки 267
Boost, межъязыковая поддержка 267
Boost, метапрограммирование шаблонов 266
Boost, обработка строк и текстов 266
Boost, память 267
Boost, поддержка списка типов 267
Boost, реализация shared_ptr 91
Boost, структуры данных 267
Boost, функциональность, не представленная 267
Boost, функциональные объекты и высокоуровневое программирование 266
C стандартная библиотека и C++ стандартная библиотека 260
C# 55 85 104 107 122 124 см.
C++ стандартная библиотека 259—264
C++ стандартная библиотека и замена массивов 84
C++ стандартная библиотека и стандартная библиотека C 260
C++ стандартная библиотека и стандартная библиотека C89 260
C++ стандартная библиотека, <iosfwd> и 148
C++, как конгломерат языков 26—27
C++0x 259
C, как подъязык C++ 26—27
C99 стандартная библиотека, TR1 и 262
class и typename (в параметрах шаблонов) 203—204
const см. "Константность"
const_cast 39 см.
const_iterator против итераторов 32
DELETE см. также "Оператор delete"
delete и оператор delete 83
delete, отношение к деструкторам 83
delete, сценарии проблем использования 73
delete, формы 83—84
delete[], std::auto_ptr и trl::shared_ptr и 75
DELPHI 104
DLL, delete и 91
dynamic_cast 61 122 126—128 см.
dynamic_cast эффективность 126
EBO см. "Оптимизация пустых базовых классов"
Eiffel, язык 107
Explicit конструкторы 20—21 93 111
Explicit конструкторы, обобщенные конструкторы копирования 218
FORTRAN 54
forward_iterator_tag 227
get, и интеллектуальные указатели 80
goto, и delete 73
grep, и приведения 123
If...else для типов 229
input_iterator_tag 227
input_iterator_tag<Iter *> 230
istream_iterator 226
iterator против const_iterator 32
iterator_category 228
Java 15 22 55 85 89 107 122 124 146 149 191 195
lhs, как имя параметра 23
LIST 187
logic_error класс 119
max, стандартная реализация 140
mf, как наименование 24
mutable 37
NEW см. также "Оператор new"
new, для массивов 251
new, и выражения, утечки памяти 253
new, и интеллектуальные указатели 85—86
new, и оператор new 83
new, отношение к конструкторам 83
new, формы 83—84
NVI 172—173 184
operator() (оператор вызова функции) 22
operator=, ostream_iterators 226
operator=, output_iterator_tag 227
operator=, возвращаемое значение 64—65
operator=, и ссылки на члены 49—50
operator=, когда не генерируются неявно 49—50
operator=, константные члены и 49
operator=, неявная генерация 47—48
operator=, присваивание себе в 65—68
operator=, реализация по умолчанию 48—49
operator[] 131
operator[], возвращаемый тип 35
operator[], перегрузка const 34
pimpl, идиома см. "Идиома pimpl"
Plato 95
RAII 76 80 241
RAII и инкапсуляция 82
RAII и мьютексы 77—78
RAII и поведение при копировании 76—79
RAII, классы 82
random_access_iterator_tag 227
reinterpret_cast 123 246 см.
rhs, как имя параметра 23
Ring-tailed Lemur 196
scoped_array 76 215 267
Set 186
set_new_handler, использование 238—243
set_new_handler, специфичная для класса реализация 240—243
shared_array 76
shared_ptr, реализация в Boost, стоимость 91—92
sizeof 250—251
sizeof и пустые классы 191
sizeof, автономные классы и 251
size_t 19
slist 226
Smalltalk 146
static_cast 39 91 123 125 246 см.
std::auto_ptr 73—76 80
std::auto_ptr и передача по ссылке константу 219
std::auto_ptr и поддержка «чистильщиков» 78
std::auto_ptr, delete[] и 75
std::auto_ptr, преобразование к tr1::shared_ptr и 219
std::char_traits 231
std::iterator_traits, указатели и 229
std::list 187
std::max, реализация 140
std::numeric_limits 231
std::set 186—187
std::size_t 19
std::swap см. также "swap"
std::swap, перегрузка 115
std::swap, полная специализация 114 115
std::swap, реализация 113
std::swap, частичная специализация 115
| std::tr1 см. "TR1"
STL и контейнеры 114
STL как подъязык C++ 27
STL, категории итераторов 226
STL, определение 22
STL, распределители памяти 237
Swap см. также "std::swap"
swap и исключения 118
swap и контейнеры STL 114
swap, вызовы 116—117
swap, когда писать 117
This, для принудительного поиска базового класса 210 214
TMP см. "Метапрограммирование шаблонов"
TR1 24—25 259—264
TR1 и Boost 24—25 263—264
TR1, Boost, как синоним для std::tr1 263—264
TR1, компоненты, array 262
TR1, компоненты, bind 261—262
TR1, компоненты, function 261
TR1, компоненты, mem_fn 262
TR1, компоненты, reference_wrapper 262
TR1, компоненты, result_of 263
TR1, компоненты, интеллектуальные указатели 260—261
TR1, компоненты, кортежи 262
TR1, компоненты, кэш-таблица 262
TR1, компоненты, математические функции 262
TR1, компоненты, описатели типов 262—263
TR1, компоненты, регулярные выражения 262
TR1, компоненты, случайные числа 262
TR1, компоненты, совместимость с C99 262
TR1, поддержка TMP 262—263
tr1::array 262
tr1::bind 261—262
tr1::function 261
tr1::mem_fn 262
tr1::reference_wrapper 262
tr1::result_of 263
tr1::shared_ptr 65 75 80 85—86
tr1::shared_ptr, delete[] и 75
tr1::shared_ptr, конструирование из других интеллектуальных указателей и 219
tr1::shared_ptr, поддержка «чистильщиков» в 78 90
tr1::shared_ptr, проблема нескольких DLL и 91
tr1::shared_ptr, шаблоны конструкторов-членов в 219
tr1::tuple 262
tr1::unorder ed_map 262
tr1::unordered_multimap 262
tr1::unordered_multiset 262
tr1::unordered_set 262
tr1::weak_ptr 260
typedef, new/delete и 84
typedef, typename и 84
typeid 61 229 232—233
typename 203—207
typename и class 204
typename и вариации компиляторов 207
typename, typedef и 207
URL, Boost 25 264 267
URL, Web-сайт Скотта Мейерса 16
URL, списки ошибок «Эффективного использования C++» 16
URL, список рассылки Скотта Мейерса 16
URL, «Boost shared_ptr» 11
URL, «Часто задаваемые вопросы по C++ и C» Грега Комю 12
Valarray (Чистые значения) 260
vptr 54
vtbl 54
Web-сайт см. "URL"
XYZ Airlines 166
Абрахамс, Дэвид 11 12 13
Абстрактные классы 55
Автоматически сгенерированные запреты 50—52
Автоматически сгенерированные конструктор копирования и оператор присваивания 220—221
Автоматически сгенерированные функции 47—50
Агрегирование см. "Композиция"
Адреса встроенных функций 141
Адреса объектов 124
Александреску, Андрей 13
Альтернатива виртуальным функциям 171—179
Анализ общности и изменчивости 212—213
Арифметика указателей и неопределенное поведение 124
Арифметика, смешанный режим 110
Базовая гарантия 133
Базовые классы виртуальные 194
Базовые классы и поиск в, this 210 214
Базовые классы и полиморфные дектрукторы 52—56
Базовые классы полиморфные 56
Базовые классы шаблонные 207—212
Базовые классы, noncopyable, в Boost 52
Базовые классы, дублирование данных в 194
Базовые классы, имена, скрытые в классах-наследниках 258
Базовые классы, копирование 70
Баи, Юн 13
Бартолуччи, Джудо 13
Безопасный относительно исключений код 132—138
Безопасный относительно, идиома pimpl и 136
Безопасный относительно, копирование и обмен и 136
Безопасный относительно, побочные эффекты и 137
Безопасный относительно, унаследованный код и 138
Берк, Бенджамен 13
Бесконечный цикл, в операторе new 250
Библиотека, Conversion в Boost 265
Библиотека, Graph в Boost 266
Библиотека, Lambda в Boost 266
Библиотека, MPL в Boost 266
Библиотека, Pool из Boost 247 248
Бинарная обновляемость, встраивание и 143
Битва при Хастингсе 154
Битовые константные функции-члены 35—36
Блокировки, RAII и 77—79
Босх, Дерек 13
Буферы фиксированного размера, проблемы с 197
Ван Вик, Крис 13
Вандевурде, Дэвид 12
Вигерс, Карл 14
Вильсон, Мэтью 13
Виртуальное наследование 194 см.
Виртуальные базовые классы 194
Виртуальные деструкторы и полиморфные базовые классы 52—56
Виртуальные деструкторы, оператор delete и 252
Виртуальные конструкторы 149 150
Виртуальные таблицы 54
Виртуальные функции и встраивание 140—141
Виртуальные функции и конструкторы/деструкторы 60—63
Виртуальные функции и реализации по умолчанию 165
Виртуальные функции и эффективность 170—171
Виртуальные функции и явная квалификация базового класса 211
Виртуальные функции, альтернативы 171—179
Виртуальные функции, возможность взаимодействия языков и 54—55
Виртуальные функции, динамическое связывание 180
Виртуальные функции, закрытые 173
Виртуальные функции, значение отсутствия в классе 54
Виртуальные функции, неинициализированные данные-члены и 61
Виртуальные функции, параметры по умолчанию 182—185
Виртуальные функции, предотвращение перезаписи 190
Виртуальные функции, простые, значение 165
Виртуальные функции, реализация 54
Висячие дескрипторы 131
Вициана, Пако 13
Включение см. "Композиция"
Владение, передача 79
Влиссидес, Джон 11
Вложенные зависимые имена 204
Вложенные типов, typename и 206
Внедрение см. "Композиция"
Возврат дескрипторов 128—131
Возврат по ссылке 98—102
Возвращаемое значение operators= 64—65
Возвращаемые типы, const 32
Возвращаемые типы, объекты и ссылки 98—102
Возвращаемые типы, оператора [] 35
Времени исполнения ошибки 156—157
|
|
|
Реклама |
|
|
|