|
|
Авторизация |
|
|
Поиск по указателям |
|
|
|
|
|
|
|
|
|
|
Мэйерс С. — Эффективное использование 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::trl 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++0х 259
C, как подъязык C++ 26—27
C99 стандартная библиотека, TR1 262
class и typename (в параметрах шаблонов) 203—204
const см. «Константность»
const_cast 39 см.
const_iterator против итераторов 32
d'ynamic_cast 61 122 126—128 см.
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
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=, возвращаемое значение 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
ostream_iterators 226
output_iterator_tag 227
Plato 95
RAIL 76 80 241
RAIL и инкапсуляция 82
RAIL и мьютексы 77—78
RAIL и поведение при копировании 76—79
RAIL, классы 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, автономные классы 251
sizeof, и пустые классы 191
sizet 19
slist 226
Smalltalk 146
static_cast 39 91 123 125 246 см.
std::auto_ptr 73—76 80
std::auto_ptr, delete[] 75
std::auto_ptr, и передача по ссылке константу 219
std::auto_ptr, и поддержка «чистильщиков» 78
std::auto_ptr, преобразование к trl::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::trl см. «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, как синоним для std::tr1 263—264
TR1, и Boost 24—25 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
trl::array 262
trl::bind 261—262
trl::function 261
trl::mem_fn 262
trl::reference_wrapper 262
trl::result_of 263
trl::shared_ptr 65 75 80 85—86
trl::shared_ptr, delete[] 75
trl::shared_ptr, конструирование из других интеллектуальных указателей 219
trl::shared_ptr, поддержка «чистильщиков» 78 90
trl::shared_ptr, проблема нескольких DLL 91
trl::shared_ptr, шаблоны конструкторов—членов 219
trl::tuple 262
trl::unorder ed_map 262
trl::unordered_multimap 262
trl::unordered_multiset 262
trl::unordered_set 262
trl::weak_ptr 260
typedef, new/delete 84
typedef, typename 84
typeid 61 229 232—233
typename 203—207
typename, typedef 207
typename, и class 204
typename, и вариации компиляторов 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
Безопасный относительно унаследованный код 138
Безопасный относительно, идиома pimpl 136
Безопасный относительно, копирование и обмен 136
Безопасный относительно, побочные эффекты 137
Берк, Бенджамен 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
Виртуальные функции, возможность взаимодействия языков закрытые 173
Виртуальные функции, возможность взаимодействия языков, динамическое связывание 180
Виртуальные функции, значение отсутствия в классе 54
Виртуальные функции, неинициализированные данные-члены 61
Виртуальные функции, неинициализированные по умолчанию 182—185
Виртуальные функции, предотвращение перезаписи 190
Виртуальные функции, простые, значение 165
Виртуальные функции, реализация 54
Висячие дескрипторы 131
Вициана, Пако 13
Включение см. «Композиция»
Владение, передача 79
Влиссидес, Джон 11
Вложенные зависимые имена 204
Вложенные зависимые имена типов, typename 206
Внедрение см. «Композиция»
Возврат дескрипторов 128—131
Возврат по ссылке 98—102
Возвращаемое значение operator= 64—65
Возвращаемые типы оператора [] 35
Возвращаемые типы, const 32
Возвращаемые типы, объекты и ссылки 98—102
Времени исполнения ошибки 156—157
Временные объекты, избежание компиляторами 101—102
Встраивание 139—144
Встраивание во временя компоновки 140
|
|
|
Реклама |
|
|
|