РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (STL)
Шрифт:
int odd(int a_) {
return a_ % 2;
}
int main {
vector‹int› numbers(100);
for (int i = 0; i ‹ 100; i++) numbers[i] = i % 3;
int elements = 0;
count_if(numbers.begin, numbers.end, odd, elements);
cout ‹‹ "Found " ‹‹ elements ‹‹ " odd elements." ‹‹ endl;
return 0;
}
lwrbnd1.cpp
#include ‹stl.h›
#include ‹iostream.h›
int main {
vector‹int› v1(20);
for (int i = 0; i ‹ v1.size; i++) {
v1[i] = i/4;
cout ‹‹ v1[i] ‹‹ ' ';
}
int* location = lower_bound(v1.begin, v1.end, 3);
cout ‹‹ "\n3 can be inserted at index: " ‹‹ (location - v1.begin) ‹‹ endl;
return 0;
}
lexcmp1.cpp
#include ‹stl.h›
#include ‹iostream.h›
const unsigned size = 6;
char n1[size] = "shoe";
char n2[size] = "shine";
int main {
bool before = lexicographical_compare(n1, n1 + size, n2, n2 + size);
if (before) cout ‹‹ n1 ‹‹ " is before " ‹‹ n2 ‹‹ endl;
else cout ‹‹ n2 ‹‹ " is before " ‹‹ n1 ‹‹ endl;
return 0;
}
copyb.cpp
#include ‹stl.h›
#include ‹iostream.h›
int main {
vector‹int› v1(10);
for (int i = 0; i ‹ v1.size; i++) v1[i] = i;
vector‹int› v2(v1.size);
copy_backward(v1.begin, v1.end, v2.end);
ostream_iterator‹int› iter(cout, " ");
copy(v2.begin, v2.end, iter);
cout ‹‹ endl;
return 0;
}
ptrbinf2.cpp
#include ‹iostream.h›
#include ‹stl.h›
int sum(int x_, int y_) {
return x_ + y_;
}
int input1[4] = {7, 2, 3, 5};
int input2[4] = {1, 5, 5, 8};
int main {
int output[4];
transform(input1, input1 + 4, input2, output, ptr_fun(sum));
for (int i = 0; i ‹ 4; i++) cout ‹‹ output[i] ‹‹ endl;
return 0;
}
copyb0.cpp
#include ‹stl.h›
#include ‹iostream.h›
int numbers[5] = {1, 2, 3, 4, 5};
int main {
int result[5];
copy_backward(numbers, numbers + 5, result + 5);
for (int i = 0; i ‹ 5; i++) cout ‹‹ numbers[i] ‹‹ ' ';
cout ‹‹ endl;
for (i = 0; i ‹ 5; i++) cout ‹‹ result[i] ‹‹ ' ';
cout ‹‹ endl;
return 0;
}
binsert1.cpp
#include ‹iostream.h›
#include ‹stl.h›
char* array[] = {"laurie", "jennifer", "leisa"};
int main {
vector‹char*› names;
copy(array, array + 3, back_insert_iterator‹vector‹char*› ›(names));
vector‹char*›::iterator i;
for (i = names.begin; i!= names.end; i++) cout ‹‹ *i ‹‹ endl;
return 0;
}
unegate2.cpp
#include ‹iostream.h›
#include ‹stl.h›
struct odd: public unary_function‹int, bool› {
odd {}
bool operator (int n_) const {return (n_ % 2) - 1;}
};
int array[3] = {1, 2, 3};
int main {
int* p = find_if(array, array + 3, not1 (odd));
if (p != array + 3) cout ‹‹ *p ‹‹ endl;
return 0;
}
revcopy1.cpp
#include ‹stl.h›
#include ‹iostream.h›
int numbers[6] = {0, 1, 2, 3, 4, 5};
int main {
int result[6];
reverse_copy(numbers, numbers + 6, result);
for (int i = 0; i ‹ 6; i++) cout ‹‹ numbers[i] ‹‹ ' ';
cout ‹‹ endl;
Поделиться:
Популярные книги
Черный Маг Императора 13
13. Черный маг императора
Фантастика:
попаданцы
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Последняя Арена 4
4. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Маяк надежды
5. Артефактор
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Великий перелом
2. Фрунзе
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Сопротивляйся мне
3. Порочная власть
Любовные романы:
современные любовные романы
эро литература
6.00
рейтинг книги
Инквизитор Тьмы 2
2. Инквизитор Тьмы
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Мастер Разума V
5. Мастер Разума
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Бандит 2
2. Петр Синельников
Фантастика:
боевая фантастика
5.73
рейтинг книги
Истребители. Трилогия
Фантастика:
альтернативная история
7.30
рейтинг книги
Гардемарин Ее Величества. Инкарнация
1. Гардемарин ее величества
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
фантастика: прочее
5.00
рейтинг книги
Падение Твердыни
6. Венецианский купец
Фантастика:
попаданцы
альтернативная история
5.33
рейтинг книги
"Дальние горизонты. Дух". Компиляция. Книги 1-25
Собрание сочинений
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Ох уж этот Мин Джин Хо 2
2. Мин Джин Хо
Фантастика:
попаданцы
5.00
рейтинг книги
Энфис 6
6. Эрра
Фантастика:
героическая фантастика
рпг
аниме
5.00