首页 > 编程语言 >C++容器中存放的是数据本身还是数据地址?

C++容器中存放的是数据本身还是数据地址?

时间:2023-11-28 21:55:05浏览次数:41  
标签:salary 容器 multimap C++ second 数据

在C++中,std::map容器内存放的是数据本身(即键值对的值部分),而不是数据地址。当我们插入一个键值对时,std::map会自动复制值并存储副本

void test02() {
	multimap<int, Worker> m;

	Worker w;
	w.name = "sd";
	w.salary = 1234;

	m.insert(pair<int, Worker>(1, w));

	multimap<int, Worker>::iterator it = m.find(1);
	cout << it->first <<" " << it->second.name<<" " << it->second.salary << endl;

	w.name = "as";

	multimap<int, Worker>::iterator it2 = m.find(1);
	cout << it2->first << " " << it2->second.name << " " << it2->second.salary << endl;

}

这里我们将w的数据改变了,但是对容器遍历后发现数据并未改变,说明,multimap容器内存放的是数据本身,而不是数据地址

标签:salary,容器,multimap,C++,second,数据
From: https://www.cnblogs.com/wanshengxiaobai/p/17863186.html

相关文章

  • 基本数据类型
    基本数据类型一、有哪些基本数据类型数字类型整数类型(int)浮点类型(float)字符串类型(str)列表类型(list)字典类型(dict)布尔类型(bool)元组类型(tuple)集合类型(set)二、为什么要学习基本数据类型有助于我们理解不同的基本数据类型在计算机中的表示和操作方......
  • 页面的json数据浏览器无法访问,还有什么别的办法获取数据?
    大家好,我是皮皮。一、前言前几天在Python钻石流群【空】问了一个Python网络爬虫的问题,一起来看看吧。问题描述:请教一个问题,页面的json数据浏览器无法访问,还有什么别的办法获取数据图片如下:这个问题看上去有点怪怪的。二、实现过程看上去代码倒是很简洁,没啥难度,这里【猫药......
  • mysql 统计 一行数据多个列 中各种值的 数量
    表数据 统计每个name的指标中红/黄/绿/灰灯数量.  分组使用sum()函数 selectname,zhibiao1as'指标1',zhibiao2as'指标2',zhibiao3as'指标3',sum(casewhenzhibiao1='红'then1else0end)+sum(casewhenzhibiao2='红'......
  • Python数据文件的读取——Pandas库的使用
    Pandas是一个强大的数据分析库,它提供了一个名为DataFrame的数据结构,类似于R中的data.frame。DataFrame是一个二维的、标签化的数据结构,可以包含不同数据类型的列。它提供了许多方便的功能,如数据选择、过滤、合并、排序等,使得数据分析和处理变得更加容易。Pandas的DataFra......
  • 数据仓库与挖掘
    建立数据仓库的意义在于使用这些数据,而最典型的应用是数据挖掘。一、数据仓库概述数据仓库是一个面向主题、集成、相对稳定、反映历史变化的数据集合。其中,1)数据源是数据仓库系统的基础,是整个系统的数据源泉2)OLAP(On-LineAnalyticalProcessing,联机分析处理)服务器对数据进行有效......
  • # yyds干货盘点 # 页面的json数据浏览器无法访问,还有什么别的办法获取数据?
    大家好,我是皮皮。一、前言前几天在Python钻石流群【空】问了一个Python网络爬虫的问题,一起来看看吧。问题描述:请教一个问题,页面的json数据浏览器无法访问,还有什么别的办法获取数据图片如下:这个问题看上去有点怪怪的。二、实现过程看上去代码倒是很简洁,没啥难度,这里【猫药师Kelly】......
  • c++ deque容器
    一、deque介绍deque(双端队列)是一种索引容器,它包含在#include<deque>头文件中。它与普通的queue队列不同的是,deque可以实现在尾部插入和删除元素。随机的访问双端队列中的元素,时间复杂度为O(1)在首部或者尾部插入或删除元素,时间复杂度O(1)插入和删除元素,是线性的,时间复杂度为O......
  • Oracle数据库备份与恢复
    Oracle导入导出命令IMP/EXP.注:以下命令需在命令行执行。1EXP导出1.1完全模式:执行全数据库备份expuser/password@dbnameBUFFER=64000file=C:\full.dmpfull=Y#exp:是Oracle的导出工具,用于备份和恢复数据。#user/password:是Oracle的系统用户和密码,用于执行备份......
  • 大数据第七周随笔
    这周我们学习了Linux磁盘管理Linux磁盘管理好坏直接关系到整个系统的性能问题。Linux磁盘管理常用三个命令为df、du和fdisk。df(英文全称:diskfree):列出文件系统的整体磁盘使用量du(英文全称:diskused):检查磁盘空间使用量fdisk:用于磁盘分区df命令参数功能:检查文件系统的磁盘......
  • 大数据第八周随笔
    这周我们学习了VI/VIMVim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说,vi是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。vim则可以说是程序开发者的一项很好用的工具。vi/vim......