if (i == s.end()) cout ‹‹ '40 Not found' ‹‹ endl;

 else cout ‹‹ 'Found ' ‹‹ *i ‹‹ endl;

 i = s.find(42);

 if (i == s.end()) cout ‹‹ 'Not found' ‹‹ endl;

 else cout ‹‹ 'Found ' ‹‹ *i ‹‹ endl;

 int count = s.erase(42);

 cout ‹‹ 'Erased ' ‹‹ count ‹‹ ' instances' ‹‹ endl;

 return 0;

}

vec2.cpp

#include ‹iostream.h›

#include ‹stl.h›

void print(vector‹double›& vector_) {

 for (int i = 0; i ‹ vector_.size(); i++)

 cout ‹‹ vector_[i] ‹‹ ' ';

 cout ‹‹ endl;

}

int main() {

 vector‹double› v1; // Empty vector of doubles.

 v1.push_back(32.1);

 v1.push_back(40.5);

 vector‹double› v2; // Another empty vector of doubles.

 v2.push_back(3.56);

 cout ‹‹ 'v1 = ';

 print(v1);

 cout ‹‹ 'v2 = ';

 print(v2);

 v1.swap(v2); // Swap the vector's contents.

 cout ‹‹ 'v1 = ';

 print(v1);

 cout ‹‹ 'v2 = ';

 print(v2);

 v2 = v1; // Assign one vector to another.

 cout ‹‹ 'v2 = ';

 print(v2);

 return 0;

}

uniqcpy2.cpp

#include ‹stl.h›

#include ‹iostream.h›

#include ‹string.h›

bool str_equal(const char* a_, const char* b_) {

 return ::strcmp(a_, b_) - 0 ? 1: 0;

}

char* labels[] = {'Q','Q','W','W','E','E','R','T','T','Y','Y'};

int main() {

 const unsigned count = sizeof(labels) / sizeof(labels[0]);

 ostream_iterator ‹char*› iter(cout);

 copy(labels, labels + count, iter);

 cout ‹‹ endl;

 char* uCopy[count];

 fill(uCopy, uCopy + count, ');

 unique_copy(labels, labels + count, uCopy, str_equal);

 copy(labels, labels + count, iter);

cout ‹‹ endl;

copy(uCopy, uCopy + count, iter);

cout ‹‹ endl;

return 0;

}

mismtch0.cpp

#include ‹stl.h›

#include ‹iostream.h›

int n1[5] = {1, 2, 3, 4, 5};

int n2[5] = {1, 2, 3, 4, 5};

int n3[5] = {1, 2, 3, 2, 1};

int main() {

 pair ‹int*, int*› result;

 result = mismatch(n1, n1 + 5, n2);

 if (result.first == (n1 + 5) && result.second == (n2 + 5))

  cout ‹‹ 'n1 and n2 are the same' ‹‹ endl;

 else cout ‹‹ 'Mismatch at offset: ' ‹‹ (result.first - n1) ‹‹ endl;

 result = mismatch(n1, n1 + 5, n3);

 if (result.first == (n1 + 5) && result.second == (n3 + 5))

  cout ‹‹ 'n1 and n3 are the same' ‹‹ endl;

 else cout ‹‹ 'Mismatch at offset: ' ‹‹ (result.first - n1) ‹‹ endl;

 return 0;

}

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату