Чтение онлайн

на главную - закладки

Жанры

РУКОВОДСТВО ПО СТАНДАРТНОЙ БИБЛИОТЕКЕ ШАБЛОНОВ (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;

Поделиться:
Популярные книги

Газлайтер. Том 10

Володин Григорий
10. История Телепата
Фантастика:
боевая фантастика
5.00
рейтинг книги
Газлайтер. Том 10

Законы Рода. Том 5

Flow Ascold
5. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 5

Измена. Избранная для дракона

Солт Елена
Любовные романы:
любовно-фантастические романы
3.40
рейтинг книги
Измена. Избранная для дракона

Невеста на откуп

Белецкая Наталья
2. Невеста на откуп
Фантастика:
фэнтези
5.83
рейтинг книги
Невеста на откуп

Купец VI ранга

Вяч Павел
6. Купец
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Купец VI ранга

Офицер-разведки

Поселягин Владимир Геннадьевич
2. Красноармеец
Фантастика:
боевая фантастика
попаданцы
5.00
рейтинг книги
Офицер-разведки

Надуй щеки! Том 4

Вишневский Сергей Викторович
4. Чеболь за партой
Фантастика:
попаданцы
уся
дорама
5.00
рейтинг книги
Надуй щеки! Том 4

Русь. Строительство империи 2

Гросов Виктор
2. Вежа. Русь
Фантастика:
попаданцы
альтернативная история
рпг
5.00
рейтинг книги
Русь. Строительство империи 2

Переиграть войну! Пенталогия

Рыбаков Артем Олегович
Переиграть войну!
Фантастика:
героическая фантастика
альтернативная история
8.25
рейтинг книги
Переиграть войну! Пенталогия

На границе империй. Том 2

INDIGO
2. Фортуна дама переменчивая
Фантастика:
космическая фантастика
7.35
рейтинг книги
На границе империй. Том 2

Страж Кодекса. Книга VI

Романов Илья Николаевич
6. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга VI

Здравствуй, 1984-й

Иванов Дмитрий
1. Девяностые
Фантастика:
альтернативная история
6.42
рейтинг книги
Здравствуй, 1984-й

На границе империй. Том 9. Часть 3

INDIGO
16. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 3

Морской волк. 1-я Трилогия

Савин Владислав
1. Морской волк
Фантастика:
альтернативная история
8.71
рейтинг книги
Морской волк. 1-я Трилогия