CHAPTER6-25.cpp
上传用户:fjc899
上传日期:2007-07-03
资源大小:187k
文件大小:1k
源码类别:

STL

开发平台:

C/C++

  1. //文件名:CHAPTER6-25.cpp
  2. #include <iostream>
  3. #include <vector>
  4. #include <string>
  5. #include <algorithm>
  6. using namespace std;
  7. int main()
  8. {
  9. //create empty vector for strings
  10. vector<string> sentence;
  11. //reserve memory for five elements to avoid reallocation
  12. sentence.reserve(5);
  13. //append some elements
  14. sentence.push_back("Hello,");
  15. sentence.push_back("how");
  16. sentence.push_back("are");
  17. sentence.push_back("you");
  18. sentence.push_back("?");
  19. //print elements separated with spaces
  20. copy (sentence.begin(), sentence.end(),
  21. ostream_iterator<string>(cout," "));
  22. cout << endl;
  23. //print ''technical data''
  24. cout << " max_size(): " << sentence.max_size() << endl;
  25. cout << " size(): " << sentence.size() << endl;
  26. cout << " capacity(): " << sentence.capacity() << endl;
  27. //swap second and fourth element
  28. swap (sentence[1], sentence [3]);
  29. //insert element "always" before element "?"
  30. sentence.insert (find(sentence.begin(),sentence.end(),"?"),"always");
  31. //assign "!" to the last element
  32. sentence.back() = "!";
  33. //print elements separated with spaces
  34. copy (sentence.begin(), sentence.end(),
  35. ostream_iterator<string>(cout," "));
  36. cout << endl;
  37. //print "technical data" again
  38. cout << " max_size(): " << sentence.max_size() << endl;
  39. cout << " size(): " << sentence.size() << endl;
  40. cout << " capacity(): " << sentence.capacity() << endl;
  41. }