21xrx.com
2024-11-05 16:34:49 Tuesday
登录
文章检索 我的文章 写文章
C++中使用vector实现索引操作
2023-07-05 07:20:09 深夜i     --     --
C++ vector 索引操作

在C++中,一个vector是一个可以存储动态数组的容器,它提供了非常方便的索引操作,可以通过下标索引访问其中的元素。下面我们来看看如何使用C++中的vector实现索引操作。

要使用vector实现索引操作,首先需要包含头文件< vector >,然后创建一个vector对象,如下所示:


#include < vector >

using namespace std;

int main()

  vector<int> vec; // 创建一个空的vector对象

上面的代码将创建一个空的vector对象。接下来,我们需要了解如何使用push_back()函数添加元素,如下所示:


#include < vector >

using namespace std;

int main() {

  vector<int> vec; // 创建一个空的vector对象

  vec.push_back(10); // 添加第一个元素

  vec.push_back(20); // 添加第二个元素

  vec.push_back(30); // 添加第三个元素

  // 通过下标索引访问元素

  cout<< vec[0]<<endl; // 输出第一个元素

  cout<< vec[1]<<endl; // 输出第二个元素

  cout<< vec[2]<<endl; // 输出第三个元素

}

上面的代码将通过push_back()函数添加三个整数元素到vector对象中,并通过下标索引访问这些元素进行输出。

需要注意的是,当索引值超出vector容器的实际大小时,将会触发越界错误。因此,在进行下标索引操作时,需要确保索引值不会超出元素的个数范围。

此外,C++中的vector也提供了at()函数进行附加安全检查,在执行索引操作时会先检查索引值是否在有效范围内,如果不在范围内,则会抛出一个out_of_range异常,如下所示:


#include < vector >

using namespace std;

int main() {

  vector<int> vec; // 创建一个空的vector对象

  vec.push_back(10); // 添加第一个元素

  vec.push_back(20); // 添加第二个元素

  vec.push_back(30); // 添加第三个元素

  // 通过at()函数访问元素

  cout<<vec.at(0)<<endl; // 输出第一个元素

  cout<<vec.at(1)<<endl; // 输出第二个元素

  cout<<vec.at(2)<<endl; // 输出第三个元素

  // 试图访问一个不存在的元素

  try {

    cout<<vec.at(3)<<endl; // 将抛出一个out_of_range异常

  } catch (out_of_range& e) {

    cerr<< "out_of_range exception: "<<e.what()<<endl;

  }

}

我们以上述代码为例,通过at()函数访问vector对象中的元素可以更加安全和稳定。但是,正如我们在上文所提到的,当执行越界操作时会抛出一个out_of_range异常。因此,对于实现索引操作的程序,使用at()函数是一个很好的选择。

总之,使用C++中的vector实现索引操作非常方便,只需使用下标索引或at()函数访问元素即可。但是,要记住在进行索引操作时确保不会超出vector容器的有效范围,并且应该尽量使用at()函数进行更加安全和稳定的操作。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复