C++基础之Vector容器中存放自定义数据类型

vector与list使用用法代码示例 今天在分析amr解码时,发现用到了vector和list。考虑到这两种容器类使用的场景很多,想把他们的使用方法分享给读者。所以我单独抽离一部分单独编译,具体代码如下: 阅读详情

1. 先介绍一下Vector容器中存放内置数据类型的使用。

#include <iostream>
#include <vector> //vector的头文件
#include <algorithm> //标准算法的头文件

void fun_creat_vector (){
    std::vector<int8_t> data; // 创建一个vector容器
    data.push_back(1); // 向容器中插入数据1
    data.push_back(2);
    data.push_back(3);

    std::vector<int8_t>::iterator it_data; //创建一个容器的迭代器
    for(std::vector<int8_t>::iterator it_data = data.begin();it_data != data.end();it_data++){
        std::cout << *it_data << std::endl;
    }

    //使用STL的标准算法进行遍历
    for_each(data.begin(),data.end(),callback); //三个参数,开始,结束,回调函数

}

void callback(int8_t data){
    std::cout << data << std::endl;
}

2. Vector容器中存放自定义数据类型的使用。

class Person
{
public:
    Preson(std::string name, int age){
        this->m_Name = name;
        this->m_Age = age;
    }
    std::string m_Name;
    int m_Age;
};

void fun_vector()
{
    vector<Person> v_data;
    
    Person P1("zhangsan",18);
    Person P2("lisi",19);
    Person P3("zhaowu",17);

    v_data.push_back(P1);
    v_data.push_back(P2);
    v_data.push_back(P3);

    for(vector<Person>::iterator it = v_data.begin();it != v_data.end();it++){
        //std::cout << "Name: " << (*it).m_Name << "Age: " << (*it).m_Age << std::endl;
        std::cout << "Name: " << it->m_Name << "Age: " << it->m_Age << std::endl;
    }

}

void fun_vector_ptr()
{
    vector<Person*> v_data;
    
    Person P1("zhangsan",18);
    Person P2("lisi",19);
    Person P3("zhaowu",17);

    v_data.push_back(&P1);
    v_data.push_back(&P2);
    v_data.push_back(&P3);

    for(vector<Person *>::iterator it = v_data.begin();it != v_data.end();it++){
        std::cout << "Name: " << (*it)->m_Name << "Age: " << (*it)->m_Age << std::endl;
    }

}

3. vector容器中嵌套vector容器。

相当于把2中的自定义数据类型换成vector。

 

c++vector容器存放自定义数据类型(指针和对象)(七) 这里有C++STL——全面总结详细教程(附案例解析)(持续更新中) vector中存放自定义数据类型,并打印输出 新建Person类,数据为:姓名和年龄。 通过vector容器创建对象,并插入。 对象可直接插入,指针在插入时,带上创建对象的地址&。 #include<iostream> using namespace std; #include<vector&... 阅读详情

相关推荐

海光(hygon)CPU ESXI vSphere 紫屏问题修复记录

海光服务器ESXI 紫屏问题修复

edison202302的博客 3551

自定义数据类型在容器中的正确操作形式

目录 自定义数据类型在容器中的正确操作形式 在一些情况下自定义数据类型变量一定要声明为const类型的 将自定义数据类型声明为const类型的情况 代码示例 输出错误显示 疑问解答 错因分析 解决方法 综合代码示例 同样适用于vector数组 基本数据类型也不例外 很难发现的原因 代码示例 结果显示 自定义数据类型在容器中的正确操作形式 在一些情况下自定义数据类型变量一定要声明为const类型的 将自定义数据类型声明为const类型的情况 ① 重载运算符的形参; ② 默

超级霸霸强的博客 634

把“思考”塞进 1 KB:我用纯 C 语言给单片机手搓了一个微型 Transformer 推理引擎

摘要:本文探讨了在64KB SRAM的MCU(如STM32H743)上部署精简Transformer模型的技术方案。通过将6层Transformer压缩至1层(隐藏维度128)、4-bit KV-Cache量化等优化手段,实现了240KB Flash占用和59KB RAM峰值,推理延迟184ms(400MHz Cortex-M7),准确率96.1%。关键创新包括:手工优化矩阵乘(CMSIS-NN)、查表法Softmax/LayerNorm、权重按Tile重排提升Cache命中率(60%→94%)。

qq_74383080的博客 2922

c++ 11标准模板(STL) std::vector (六)

检查容器是否无元素,即是否 begin() == end() 。 返回容器中的元素数,即 std::distance(begin(), end()) 。 返回根据系统或库实现限制的容器可保有的元素最大数量,即对于最大容器的 std::distance(begin(), end()) 。

qq_40788199的博客 1166

OKCC呼叫中心部署实战指南:从零搭建高效外呼系统

本文提供OKCC呼叫中心系统的完整部署实战指南,从服务器选型、操作系统准备到详细安装步骤和性能优化,帮助企业从零搭建高效外呼系统。重点介绍FreeSWITCH核心组件的安装配置技巧,以及常见问题排查方法,助力企业提升客户服务效率。

weixin_29275257的博客 163

C#与Vector XL驱动库实战:CAN通道配置与端口访问详解

本文详细解析了使用C#调用Vector XL驱动库进行CAN总线通信开发的核心步骤。重点阐述了如何通过XL_GetDriverConfig获取硬件通道信息,并厘清channelMask与accessMask的区别与转换关系,最终指导开发者正确使用XL_OpenPort函数配置并打开CAN端口,为构建稳定的汽车电子测试与诊断应用奠定基础。

weixin_28452161的博客 362

c++初识vector存放自定义数据类型 学习笔记

我是在哔哩哔哩黑马程序员中c++课程p187学会的,非常推荐。如过还想要更加了解 vector运用 的 基本知识,可以看看我的另一篇。

记录学习过程 1235

Ubuntu环境下rknn-toolkit2的安装与兼容性解析

本文详细解析了在Ubuntu系统上安装瑞芯微rknn-toolkit2工具链的完整流程与关键注意事项。文章重点剖析了rknn-toolkit2与旧版rknn-toolkit的核心兼容性问题,强调两者在API、模型格式及运行时库上互不兼容,并推荐使用Conda虚拟环境进行隔离管理,为RK3566、RK3588等开发板的AI模型部署提供清晰的实践指南。

weixin_29041767的博客 373

C++ 纯虚类实例化中对于引用成员的使用

C++ 纯虚类实例化中对于引用成员的使用

Leo的专栏 885

ThingsKit物联网平台产品管理之物模型

物模型是ThingsKit物联网平台为产品定义的数据模型,用于描述产品的功能。本文介绍物模型相关概念和使用限制。

云腾五洲官方博客 1173

反应动力学仿真软件:CHEMKIN_(12).CHEMKIN与其他软件的接口

通过上述介绍,我们详细探讨了如何将 CHEMKIN 与 MATLAB、Python、COMSOL、Aspen Plus 和 Ansys Fluent 等软件工具进行接口配置和数据交互。这些接口不仅能够显著提升 CHEMKIN 在反应动力学仿真中的应用效果,还能充分利用其他软件工具的强大功能,实现更复杂的数据处理和分析。希望这些内容对您在化学反应动力学仿真中的工作有所帮助。

kkchenjj的博客 1137

【C++ STL容器】Vector存放内置数据类型和存放自定义数据类型以及Vector容器嵌套容器

指针存放的是值得地址对指针的截引用获取地址对应得值​//自定义数据类型public:mAge = age;//存放对象​​//创建数据​​it!= v.end();it++) {​​​//放对象指针​//此时的v相当于一个 指针数组 用于存放指针地址的数组​//创建数据​​it!= v.end();​test02();

weixin_72851290的博客 300

Fiori Elements 从入门到精通开发教程的文章目录

Fiori Elements 开发技术相对 SAP 其他历史悠久,发展成熟的开发技术来说,是一个新事物。正因如此,迄今为止国内深入讲解 Fiori Elements 应用的中文材料几乎没有。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4725

C++ vector初学 vector 存放内置数据类型 存放自定义数据类型 存放自定义数据类型指针 Vector 容器嵌套容器

vector 存放内置数据类型 #include<iostream> using namespace std; #include<vector> #include<algorithm>//标准算法头文件 //vector 容器存放内置数据类型 void test01(){ //创建了一个vector容器,数组 vector<int> v; //向容器中插入数据 v.push_back(10);//尾插法 v.push_back(20); v.

一季南凉的博客 1161

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

C++vector存放自定义数据类型 vector容器 容器

C++vector存放自定义数据类型 vector容器 容器 #include <iostream> #include <string> #include <vector> using namespace std; class Person { public: Person(string name, int age) { m_Name = name; m_Age = age; } public: string m_Name; int m_Age; }

qq_36711295的博客 528

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【C++ STL容器】:vector存放数据以及存放自定义的数据类型

向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组,暂且把它理解为我们之前学过的数组Array。

W_Oilpicture的博客 6653

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

C++ 学习之vector存放自定义数据类型、容器嵌套容器

1、vector存放自定义数据类型,或存放指针 #include<iostream> #include<string> #include<vector> #include<algorithm> using namespace std; class Person { public: Person(string name, int age) { m_name = name; m_age = age; } public: string m_na

阿乐的博客 2553

C++的vector容器存放自定义数据类型操作实例

#include<iostream> #include<vector> using namespace std; class Student { public: string m_Name; int m_Age; Student(string name, int age) { m_Name = name; m_Age = age; } }; void te...

qq_38883271的博客 1813

C++ STL STL中容器 vector存放内置数据类型和自定义数据类型 容器中嵌套容器

C++ STL STL中容器 vector存放内置数据类型和自定义数据类型 存放数据的方法与访问方式 代码与效果展示 注意事项

UUUUU22的博客 527

C++ STL容器vector篇(一) vector容器存放内置和自定义数据类型并遍历

B站黑马C++课程STL-vector部分的一个总结, 包含自己的一些想法.

zorchp 2411

c++笔记 STL vector容器内存放自定义数据类型

#include<iostream> using namespace std; #include<vector> #include<algorithm> //vector容器中存放自定义数据类型 class Person { public: Person(string name, int age) { this->m_Name = name; this->m_Age = age; } string m_Name; int m_Age; }; .

qq_45949701的博客 175

15.2.2重学C++之【vector容器存放自定义数据类型】

#include<iostream> #include<stdlib.h> #include<string> using namespace std; #include<vector> #include<algorithm> /* 2.5.2 vector容器存放自定义数据类型 */ class People { public: string name; int age; People(string _n.

yubaby 367

C++的STL初识->STL的诞生、STL基本概念、STL六大组件、STL中容器,算法,迭代器、容器算法迭代器初识(vector->存放内置数据类型、存放自定义数据类型、容器嵌套容器)

/结束迭代器 指向容器中最后一个元素的下一个位置。//vector<int>::iterator 拿到vector<int>这种容器的迭代器类型。//v.end()返回迭代器,这个迭代器指向容器元素的最后一个元素的下一个位置。//创建vector容器对象,并且通过模板参数指定容器中存放的数据的类型。//v.begin()返回迭代器,这个迭代器指向容器中第一个数据。//每一个容器都有自己的迭代器,迭代器是用来遍历容器中的元素。//将小容器元素插入到大容器vector v中。//向容器中添加数据。

鲸鱼的博客 942

c++ vector容器构造与数据存放

/创建vector容器 v 存放Person类型数据//尾插法向容器中添加数据//遍历容器中数据it!= v.end();it++)//it本质 是一个指针,取值需要解引用cout << "姓名: " << (*it).m_Name << "年龄: "<< (*it).m_Age << endl;存放地址数据!vector存放是的person* 是一个指针类型数据,容器中存放的是地址!

kian9one的博客 650

vector存放内置数据类型和自定义数据类型

黑马程序员C++教程从0到1入门编程20STL初识--vector存放内置数据类型和自定义数据类型vector存放内置数据类型和自定义数据类型vector 容器存放内置数据类型vector 存放自定义数据类型vector 容器嵌套容器 vector存放内置数据类型和自定义数据类型 vector 容器存放内置数据类型 #pragma once//防止头文件包含 #include<string&...

浪里小河马的博客 1111

【C++】C++11之vector容器详解

vector是STL(标准模板库)中的一个序列式容器,本质是一个类模板。vector和数组的区别是:vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间容纳新元素。vector也可以解释为单端数组it实质上是一个迭代器指针,访问时需要解引用*it,解引用后的数据类型和相同。

qq_35902025的博客 3222
上一篇: C++基础之map容器
下一篇: C++基础之标准模板库STL
Code_DZhangTeng
博客等级 码龄9年 56粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值