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;
}