РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL)
Шрифт:
int main {
vector‹int› v(4);
v[0] = 1;
v[1] = 4;
v[2] = 9;
v[3] = 16;
cout ‹‹ "front = " ‹‹ v.front ‹‹ endl;
cout ‹‹ "back = " ‹‹ v.back ‹‹ ", size = " ‹‹ v.size ‹‹ endl;
v.push_back(25);
cout ‹‹ "back = " ‹‹ v.back ‹‹ ", size = " ‹‹ v.size ‹‹ endl;
v.pop_back;
cout ‹‹ "back = " ‹‹ v.back ‹‹ ", size = " ‹‹ v.size ‹‹ endl;
return 0;
}
lwrbnd2.cpp
#include ‹stl.h›
#include ‹iostream.h›
#include ‹string.h›
bool char_str_less(const char* a_, const char* b_) {
return ::strcmp(a_, b_) ‹ 0 ? 1 : 0;
}
char* str[] = {"a", "a", "b", "b", "q", "w", "z"};
int main {
const unsigned strCt = sizeof(str)/sizeof(str[0]);
cout ‹‹ "d can be inserted at index: "
‹‹ (lower_bound(str, str + strCt, "d", char_str_less) - str) ‹‹ endl;
return 0;
}
pheap2.cpp
#include ‹stl.h›
#include ‹iostream.h›
int main {
vector‹int› v;
v.push_back(1);
v.push_back(20);
v.push_back(4);
make_heap(v.begin, v.end, greater‹int›);
v.push_back(7);
push_heap(v.begin, v.end, greater‹int›);
sort_heap(v.begin, v.end, greater‹int›);
ostream_iterator‹int› iter(cout, " ");
copy(v.begin, v.end, iter);
cout ‹‹ endl;
return 0;
}
insert2.cpp
#include ‹iostream.h›
#include ‹stl.h›
char* array1[] = {"laurie", "jennifer", "leisa"};
char* array2[] = {"amanda", "saskia", "carrie"};
int main {
deque‹char*› names(array1, array1 + 3);
deque‹char*›::iterator i = names.begin + 2;
copy(array2, array2 + 3, inserter(names, i));
deque‹char*›::iterator j;
for (j = names.begin; j!= names.end; j++) cout ‹‹ *j ‹‹ endl;
return 0;
}
uprbnd2.cpp
#include ‹stl.h›
#include ‹iostream.h›
#include ‹string.h›
bool char_str_less(const char* a_, const char* b_) {
return ::strcmp(a_, b_) ‹ 0 ? 1 : 0;
}
char* str[] = {"a", "a", "b", "b", "q", "w", "z"};
int main {
const unsigned strCt = sizeof(str)/sizeof(str[0]);
cout ‹‹ "d can be inserted at index: "
‹‹ upper_bound(str, str + strCt, "d", char_str_less) - str ‹‹ endl;
return 0;
}
vec3.cpp
#include ‹iostream.h›
#include ‹stl.h›
int main {
vector‹char› v1; // Empty vector of characters.
v1.push_back('h');
v1.push_back('i');
cout ‹‹ "v1 = " ‹‹ v1[0] ‹‹ v1[1] ‹‹ endl;
vector‹char› v2(v1);
v2[1] = 'o'; // Replace second character.
cout ‹‹ "v2 = " ‹‹ v2[0] ‹‹ v2[1] ‹‹ endl;
cout ‹‹ "(v1 == v2) = " ‹‹ (v1 == v2) ‹‹ endl;
cout ‹‹ "(v1 ‹ v2) = " ‹‹ (v1 ‹ v2) ‹‹ endl;
return 0;
}
iter4.cpp
#include ‹iostream.h›
#include ‹stl.h›
int main {
vector‹int› v; // Empty vector of integers.
v.push_back(1);
v.push_back(2);
v.push_back(3);
// Position immediately after last item.
vector‹int›::iterator i = v.end;
// Move back one and then access.
cout ‹‹ "last element is " ‹‹ *--i ‹‹ endl;
i -= 2; // Jump back two items.
cout ‹‹ "first element is " ‹‹ *i ‹‹ endl;
return 0;
}
Поделиться:
Популярные книги
Бастард Императора
1. Бастард Императора
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
На границе империй. Том 10. Часть 1
Вселенная EVE Online
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
Имя нам Легион. Том 7
7. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Измена. Вторая жена мужа
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Буря империи
6. Медорфенов
Фантастика:
аниме
фэнтези
фантастика: прочее
эпическая фантастика
5.00
рейтинг книги
Пенсия для морского дьявола
1. Первый в касте бездны
Фантастика:
попаданцы
5.29
рейтинг книги
На изломе чувств
Любовные романы:
современные любовные романы
6.83
рейтинг книги
Тринадцатый II
2. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сирота
1. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 9
9. Граф Берестьев
Фантастика:
городское фэнтези
попаданцы
аниме
дорама
фэнтези
фантастика: прочее
5.00
рейтинг книги
Красноармеец
1. Красноармеец
Фантастика:
боевая фантастика
попаданцы
4.60
рейтинг книги
Огненный князь 4
4. Багряный восход
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Начальник милиции. Книга 5
5. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Инкарнатор
1. Стеллар
Фантастика:
боевая фантастика
рпг
7.30