C++之访问vector<vector<char>>中的vector<char>元素(一百八十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:理解C++之vector<vector>中的vector元素。

2.应用实例

<1>.遍历vector< int >中的元素

#include <iostream>
#include <vector>

int main() {
    std::vector<int> intVector = {1, 2, 3, 4, 5};

    // 使用 for 循环遍历元素
    for (const auto& num : intVector) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    // 使用索引方式遍历元素
    for (size_t i = 0; i < intVector.size(); ++i) {
        std::cout << intVector[i] << " ";
    }
    std::cout << std::endl;

    // 使用迭代器方式遍历元素
    for (auto it = intVector.begin(); it != intVector.end(); ++it) {
        std::cout << *it << " ";
    }
    std::cout << std::endl;

    return 0;
}

<2>.访问vector<vector<char>>中的vector<char>元素

#include <iostream>
#include <vector>
#include <iterator>

using namespace std;

int main() {
  std::vector<std::vector<char>> charVector = {
    {'H', 'e', 'l', 'l', 'o'},
      {'W', 'o', 'r'},
	{'0', '1', '2', '3', '4', '5'}
  };

  //打印
  printf("charVector.size() = %ld\n",charVector.size());
  printf("charVector[0].size() = %ld\n",charVector[0].size());
  printf("charVector[0] = %s\n",charVector[0].data());
  printf("\n");

  printf("charVector[1].size() = %ld\n",charVector[1].size());
  printf("charVector[1] = %s\n",charVector[1].data());
  printf("\n");

  printf("charVector[2].size() = %ld\n",charVector[2].size());
  printf("charVector[2] = %s\n",charVector[2].data());
  printf("\n");

  //1.使用索引方式遍历元素
  for(int i = 0; i<charVector.size(); i++){
    printf("data[%d] = %s, len = %ld",i, charVector[i].data(),charVector[i].size());
    printf("\n");
  }

  //2.使用:auto + 迭代器方式遍历元素
  for (auto it = charVector.begin(); it != charVector.end(); ++it) {
    //printf("data = %s", *it);
    //std::cout << *it ;
    for (auto elem : *it) {
      std::cout << elem;
    }
  }
  std::cout << std::endl;


  //3.使用迭代器方式遍历元素
  for (std::vector<std::vector<char>>::iterator  mit = charVector.begin();mit != charVector.end(); ++mit) {
    for (std::vector<char>::iterator it = mit->begin(); it != mit->end(); ++it) {
      std::cout << *it;
    }
  }
  std::cout << std::endl;


  //4.使用迭代器方式遍历元素
  for (std::vector<std::vector<char>>::iterator  mit = charVector.begin();mit != charVector.end(); ++mit) {
    printf("xxx---------->line = %d, data = %s\n",__LINE__,(*mit).data());
    printf("xxx---------->line = %d, size = %ld\n",__LINE__,(*mit).size());
  }
  std::cout << std::endl;

  return 0;
}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android系统攻城狮

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值