<< Пред. стр. 115 (из 121) След. >>
oaaeiiu eeanniaконкретизация, 800–811
члены
шаблонов, 826–31
ofstream, тип, 1076–86
фун??ии-члены
volatile, 611–14
функции-члены
константные, 611–14
ostream_iterator, 580–82
P
pair, класс, 127
использование для возврата нескольких значений, 197
plus, объект-функция, 568, 570
pop_back(), функция
для удаления элементов из последовательного контейнера, 267
использование для реализации динамического роста стека, 317
push_back(), функция
векторы, вставка элементов, 123
поддержка в контейнерах, 257
стеки, использования для динамического выделения памяти, 317
push_front(), функция
поддержка в списковых контейнерах, 257
pаголовочные файлы
содержимое
объявления функций, с включением явной спецификации исключений, 546
Q
queue, заголовочный файл, 315
R
register, ключевое слово, 389–90
reinterpret_cast, оператор
опасности, 181
reinterpret_cast, оператор, 181
release()б функция
управление объектами с помощью класса auto_ptr, 400
reserve(), функция
использование для установки емкости контейнера, 255
reset(), функция
в классе bitset, 167
установка указателя auto_ptr, 398
resize(), функция
использование для изменения размера контейнера, 258
return, инструкция
завершение функции с помощью, 346
неявное преобразование типа в, 176
сравнение с выражением throw, 531
r-значение, 81
использование при вычислении выражений, 141
S
set, заголовочный файл, 304, 310
size(), функция
для модификации алгоритма выделения памяти в стеке, 317
sizeof, оператор, 159–62
использование с типом ссылки, 161
использование с типом указателя, 161
как константное выражение, 162
sort(), обобщенный алгоритм
вызов, 120
передача объекта=функции в качестве аргумента, 569
stack, заголовочный файл, 312
static_cast
сравнение с неявным преобразованием, 180
static_cast, оператор
опасности, 181
std, пространство имен, 426–28
string, заголовочный файл, 67
string, строковый тип, 95–98
substr(), функция, 275
пустая строка, 96
смешение объектов типа string и C-строк, 97
switch, инструкция, 207
использование ключевого слова case, 202
использование ключевого слова default, 202, 205
T
terminate(), функция, 541
this, указатель, 616–20
tolower(), функция
locale, заголовочный файл, 283
преобразование заглавных букв в строчные, 283
toupper(), функция
ctype, заголовочный файл, 283
locale, заголовочный файл, 283
true, ключевое слово, 108
typedef
для объявления указателя на функцию, 372
для улучшения читабельности, 295, 369
как синоним существующего имени типа, 431
массива указателей на функции, 369
typename, 242
использование с параметрами шаблона функции, 480
U
unexpected(), функция
для обработки нераспознанных исключений, 547
unique(), обобщенный алгоритм
удаление дубликатов из вектора, 557
unique_copy(), обобщенный алгоритм
запись целых чисел из вектора в стандартный вывод, 579
using-директивы, 423–26
влияние на разрешение перегрузки функции, 463
для объявления перегруженных функций, 437–38
сравнение с using-объявлениями, 423–26
using-объявления, 422–23
влияние на разрешение перегрузки функции, 462
для объявления перегруженных функций, 434–36
сравнение с using-директивами, 423–26
utility, заголовочный файл, 127
V
vector, заголовочный файл, 70, 121, 256
void
в списке параметров функции, 325
указатель, 179
void*
преобразование в void* как стандартное преобразование, 456
volatile, квалификатор, 127
для типа параметра, в связи с перегрузкой функций, 432
для функции-члена, 611–14
использование преобразования квалификаторов, 471
преобразование
квалификаторов, 449
W
while, инструкция, 213–16
сравнение с инструкциями for и do-while, 209
А
абстракция
объекта, класс комплексных чисел как пример, 154
стандартная библиотека, преимущества использования, 165
автоматические объекты, 388–90
объявление с ключевым словом register, 389–90
особенности хранения, 388
адапторы
функций, для объектов-функций, 573
адапторы функций, 573
адрес(а)
как значение указателя, 88
конкретизированных шаблонов функций, 484
алгоритм(ы)
функция
выведение аргумента шаблона, 489
разрешение перегрузки, 511
шаблон как, 475
аргумент(ы), 321
передача, 345
использование указателей для, 87
передача по значению, 327
по умолчанию, 340–43
должны быть хвостовыми, 341
и виртуальные функции, 913
и устоявшие функции, 472–73
тип
преобразования, разрешение перегрузки функции, 444–60
преобразования, расширение типа, 451–53
преобразования, ссылок, 457–59
преобразования, стандартные, 453–57
шаблона класса
для параметров-констант, 805–9
для параметров-типов, 800–811
шаблонов функции
явные, 490–93
шаблонов функций
выведение аргументов, 485–90
явная спецификация, мотивировка, 492
явная спецификация, недостатки, 492
явное специфицирование, 490
арифметические
исключения, 143
объекты-функции, 570
операторы, 142–45
таблица, 142
операции, поддержка для комплексных чисел, 126
преобразования, 175, 142–45
bool в int, 109
неявное выполнение при вычислении выражений, 175
типов, расширение типа перечисления, 112
указатели, 90
ассоциативность
операторов, влияние на вычисление выражений, 171–74
порядок вычисления подвыражений, 142
ассоциативные контейнеры, 248–301
неприменимость обобщенных алгоритмов переупорядочения, 587
ассоциирование
значений, использование класса pair, 127
Б
базовые классы
абстрактные базовые классы, 865–69, 908
видимость классов
при виртуальном наследовании, 983–84
видимость членов
при множественном наследовании, 968–71
при одиночном наследовании, 966–68
виртуальные базовые классы, 974–87
деструкторы, 896–99
доступ
к базовым классам, 958–64
к закрытым базовым классам, 963
к защищенным членам, 871
к членам, 880–88
доступ к элементам отображения с помощью, 299
конструирование
виртуальное наследование, 974–82
множественное наследование, 950–51
одиночное наследование, 889–96
почленная инициализация, 925–27
конструкторы, 889–99
определение базового класса
при виртуальном наследовании, 976–78
при множественном наследовании, 950–55
при одиночном наследовании, 871–75
преобразование к базовому классу, 865–69
при выведении аргументов шаблона функции, 487
присваивание, почленное присваивание, 927–29
байты
запись с помощью put(), 1063
чтение с помощью get(), 1063–66
безопасное связывание, 384
перегруженных функций, 440
бесконечный
рекурсия, 351
цикл, избежание в операциях поиска в строке, 274
бинарные
операторы, 141
битовое поле
как средство экономии памяти, 643–45
битовый вектор, 164
в сравнении с классом bitset, 164
блок
try-блок, 533–37
инструкций, 188
комментария, 24
функции, 321
функциональный try-блок, 533–37
и конструкторы, 1024–26
больше (>), оператор
поддержка в арифметических типах данных, 30
булевский(е)
константы, операторы, дающие в результате, 146
стандартные преобразования при разрешении перегрузки функции, 453
тип bool, 108–10
В
вектор(ы)
find(), обобщенный алгоритм, 554
емкость, связь с размером, 258
идиоматическое употребление в STL, 123
объектов класса, 689–96
присваивание, сравнение со встроенными массивами, 122
сравнение со списками, 251–52
требования к вставке и доступу, 252
увеличение размера, 253–56
вертикальная табуляция ()
как escape-последовательность, 77
взятия адреса (&) оператор
использование в определении ссылки, 104, 105
использование с именем функции, 367
как унарный оператор, 141
взятия индекса оператор ([]), 736
использование в векторах, 121
использование в классе bitset, 168
использование в отображениях, 294
отсутствие поддержки в контейнерах multimap и multiset, 312
взятия остатка, оператор (%), 142
видимость
определения символической константы, 386
переменных в условии цикла, 211, 379–81
роль в выборе функции-кандидата при разрешении перегрузки функции, 460
требование к встроенным функциям, 353, 387
членов класса, 607, 645–52
висячий
проблемы висячего else, описание и устранение, 195
указатель, 389
как проблема динамически выделенного объекта, 394
возврат каретки (\\r)
как escape-последовательность, 77
время жизни, 381
auto_ptr, влияние на динамически выделенные объекты, 395
автоматических объектов, 388
динамически выделенных объектов, 392
сравнение с указателями на них, 394
и область видимости (глава), 376–428
локальных объектов
автоматических и статических, 388
влияние раскрутки стека на объекты типа класса, 541
проблема возврата ссылки на локальный объект, 348
вставка элементов
в вектор, 123
в контейнер, с помощью адапторов функций, 577
в контейнеры multimap и multiset, 311
в отображение, 294
в последовательные контейнеры, 265
в стек, 314
использование push_back(), 257
итераторы, обозначение диапазона, 575–77
различные механизмы для разных типов контейнеров, 252
встроенные функции, 133, 322
объекты-функции, 559, 566
объявление, 352–53
шаблонов функций как, 481
определение, размещение в заголовочном файле, 385
перегруженные операторы вызова, 559
преимущества, 352
сравнение с не-встроенными функциями-членами, 605–7
встроенный(е)