C++学习笔记——标准库类型vector(1)

原创 2016年08月29日 18:48:12

 一、vector初始化的一些实例

 1、vector<int> v1;                                  //v1是一个空vector,元素为int类型,执行默认初始化
 2、vector<int> v2(10);                          //v2有10个元素,每个值都是0
 3、vector<int> v3(10, 42);                   //v3有10个值,每个值初始化为42
 4、vector<int> v4{ 10 };                      // v4有1个值,为10
 5、vector<int> v5{ 10, 42 };               //v5有两个值,为10,42
 6、vector<string> v6{10};                 //v6有10个值,类型为string的空字符,(强制转换为容量为10的string的vector)
 7、vector<string> v7{ 10, "hi" };      //v7有10个值,每个初始化为“hi”

二、将string类型的一组词(一句话)的所有字符都转换为大写

源代码如下:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main(){
 vector<string> vStr;
 string s;
 char ch = 'y';
 while (cin >> s){
  vStr.push_back(s);
  cout << "continue ?" << endl;
  cin >> ch;
  if (ch == 'y' || ch == 'Y')                   //每输入一个字符串就在此判断输入是否继续
   cout << "Keep on it !" << endl;
  else{
   cout << "Stop it !" << endl;
   break;
  }
 }
 cout << "The output result is :" << endl;
 for (auto &mem : vStr)
 {                                                                       // 在这里,只有当mem,i为引用时,才可以修改
  for (auto &i : mem) //mem为string,i为char
   i = toupper(i);//改为大写,是通过int类型的转换(应该可以理解为将char转换为int),,,,,,将一组词分为单个词,再将每个词的每个字符逐一转换为大写

   cout << mem << " " << endl;
  
 }//
 //for (auto &i : vStr)
 // i = toupper(i);//不存在string到int的转换函数,这样是不对的

 return 0;

}

三、push_back与利用引用类型

       vec.push_back(),这个函数的意义是在vec的尾后添加元素,所以这个函数无法实现将容器中原初始化为0的元素修改为所期望的值。如果想达到修改的目的,需要将vector中的元素定义一个引用类型的变量,然后再通过该变量的赋值来实现vector内元素的修改。

 四、begin、end与front、back     

        首先,begin和end操作是生成指向容器中第一个元素和尾元素之后位置的迭代器。而front和back是分别返回容器中首元素和尾元素的引用。若想通过迭代器获取首元素及尾元素的引用,则需要解引用。

               auto val = *vec.begin();

               auto last = vec.end();

               auto val2 = *(--last);        //因为vec.end()返回的是尾元素之后位置,所以先拷贝至last,再通过自减一,再解引用,赋值给val2才得到尾元素的引用。














版权声明:本文为博主原创文章,未经博主允许不得转载。

C++标准库中vector容器的使用

标准STL序列容器:vector、string、deque和list。 标准STL关联容器:set、multiset、map和multimap。 非标准序列容器slist和rope。slist是一...
  • niusiqiang
  • niusiqiang
  • 2015年01月25日 18:09
  • 1383

c++中的标准库类型vector

1.定义和初始化vector vector表示的是一个对象的集合,是一个容器,集合中的每个对象的类型相同,并且都有一个与之相对应的索引,用来访问对象。要想使用vector必须使用 头文件 #inc...
  • Haifamaster
  • Haifamaster
  • 2017年09月06日 21:32
  • 82

标准库类型<vector>

标准库类型vector表示对象的集合,其中所有对象的类型都相同。集合中的每个对象都有一个与之对应的索引,索引用于访问对象。因为vector中容纳着其他类型的对象,因此也被称作容器。 要想使用vecto...
  • dby3579
  • dby3579
  • 2015年04月23日 14:57
  • 313

C++之 标准库类型 Vector和String

本文对于标准库类型string和vector的基本操作学习,比较简单,,,    KEY:行字符串的获取,string::size_type的使用,vector元素的插入,迭代器的使用 测试代码:...
  • zhangfuliang123
  • zhangfuliang123
  • 2017年10月11日 15:38
  • 127

C++标准库类型vector学习笔记

标准库类型vector表示对象的集合,其中所有对象的类型都相同。集合中的每个对象都有一个与之对应的索引,索引用于访问对象。因为vector“容纳”其他对象,所以它也常被称为容器。 要想用vecto...
  • u013089961
  • u013089961
  • 2015年04月08日 15:37
  • 187

【C++学习笔记】标准库类型vector

标准库类型vector表示对象的集合,其中多有对象的类型都相同,集合中的每个对象都有一个与之对象的索引用来访问对象,需要注意的是引用不是对象,所以不存在包含引用的vector,因其用来容纳着其他对象,...
  • LAW_130625
  • LAW_130625
  • 2017年12月01日 00:13
  • 46

C++,标准库类型vector

标准库类型vector表示对象的集合,其中所有对象的类型都相同。 vector是一个类模板。初始化vector的方法 方式 含义 vector< T > v1 v1是一个空vector...
  • uncle_gy
  • uncle_gy
  • 2017年09月12日 10:20
  • 76

c++标准库类型——vector

一   标准库类型vector表示对象的集合,对象类型相同,需要: #include using namespace std; or using std::vector; 二   定义和初始化vec...
  • github_35845686
  • github_35845686
  • 2016年08月11日 15:06
  • 62

C++标准库vector类型

vector是同一种类型的对象的集合,每个
  • d704274243
  • d704274243
  • 2014年05月04日 19:54
  • 375

C++ 标准库 vector类型

C++ 标准库 vector 类型 1,vector对象的定义和初始化 vector是一个类似于动态数组的类型,对于vector的初始化,如下: vector v1;//保存int数据类型的一个...
  • qq_33285587
  • qq_33285587
  • 2017年09月10日 21:27
  • 38
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++学习笔记——标准库类型vector(1)
举报原因:
原因补充:

(最多只允许输入30个字)