. . , .
. () - for, :
for(size_t i = 0; i<vector.size(); i++) {
cout << "Element #" << << endl;
cout << "mystring is: " << vector[i].printString()<< endl;
cout << "number is : " << vector[i].printNumber() << endl;
}
- , . . -, . , . vector[i].printString() printString() . ( iter, iter->printString())
, . , , deques , , , , , .
, , , :
forstd::vector<MyClass> current = vector.begin(); current != vector.end(); ++current) {
cout << "mystring is: " << current->printString() << endl;
cout << "number is : " << current->printNumber() << endl;
}
, i, , . begin/end , , . , , , , . , .
, , . ++ . <algorithm>.
- std::for_each, for. , , , , , . , , :
void Print(const MyClass& obj) {
cout << "mystring is: " << obj.printString() << endl;
cout << "number is : " << obj.printNumber() << endl;
}
. , , . for_each:
std::for_each(vector.begin(), vector.end(), Print);
, . , .
, . :
std::for_each(vector.begin() + 5, vector.end(), Print);
:
std::for_each(vector.begin(), vector.begin()+3, Print);
, .
, ( ):
std::copy(vector.begin(), vector.end(), dest.begin());
dest , , . std:: cout, ( , MyClass operator <<, .)
std:: cout, std::transform, , . MyClass objec, , :
std::string ToString(const MyClass& obj) {
return std::string("mystring is: " + obj.printString() + "\nnumber is :" << obj.printNumber() + "\n";
}
, . , MyClass, . std:: cout:
std::transform(vector.begin(), vector.end(), std::ostream_iterator(std::cout), ToString);
std::ostream_iterator std::cout, . , " " . , , .
, for , . .
, , . , "" ++.