当前位置: 首页 > article >正文

STL中使用[]重载的类

在C++的STL(标准模板库)中,以下是一些使用 [] 运算符重载的常见类。这些类允许通过索引访问其元素:
std::vector

std::vector<int> myVector = {1, 2, 3, 4, 5};
int value = myVector[2];  // 访问第三个元素

std::deque:

std::deque<int> myDeque = {1, 2, 3, 4, 5};
int value = myDeque[2];  // 访问第三个元素

std::array:

std::array<int, 5> myArray = {1, 2, 3, 4, 5};
int value = myArray[2];  // 访问第三个元素

std::string:

std::string myString = "Hello, World!";
char ch = myString[7];  // 访问第八个字符

std::bitset:

std::bitset<8> myBitset("11011010");
bool bitValue = myBitset[3];  // 访问第四个位

std::map:
这里初始化建议直接使用{}这种初始化值,crud,因为写起来比make_pair<T1,T2>这种简单很多,除非你是直接使用了类类型的变量。

std::map<std::string, int> myMap = {{"one", 1}, {"two", 2}, {"three", 3}};
int value = myMap["two"];  // 使用键访问值

std::unordered_map:

std::unordered_map<std::string, int> myUnorderedMap = {{"one", 1}, {"two", 2}, {"three", 3}};
int value = myUnorderedMap["two"];  // 使用键访问值

这些都是使用 [] 运算符重载的类的例子。请注意,对于容器类,使用 [] 运算符访问元素时,没有越界检查,因此要确保索引在有效范围内。如果需要进行越界检查,可以使用成员函数 at(),它会在越界时抛出异常

P S PS PS
std::multimap 是C++标准库中的关联容器之一,它允许存储键值对,其中键可以重复。std::multimap 并没有直接重载 [] 运算符用于访问元素。


http://www.kler.cn/a/156307.html

相关文章:

  • 比ChatGPT更酷的AI工具
  • Window下PHP安装最新sg11(php5.3-php8.3)
  • 三正科技笔试题
  • 力扣104 : 二叉树最大深度
  • 【OceanBase 诊断调优】—— ocp上针对OB租户CPU消耗计算逻辑
  • 在 Service Worker 中caches.put() 和 caches.add()/caches.addAll() 方法他们之间的区别
  • dart 控制台应用
  • 小程序如何刷新当前页面?
  • SQL server 2016安装
  • IEEE 机器人最优控制开源库 Model-based Optimization for Robotics
  • 【开源】基于JAVA的校园电商物流云平台
  • 【C++】sizeof()、strlen()、length()\以及size()用法区别
  • 【每日一题】1038. 从二叉搜索树到更大和树-2023.12.4
  • python-GC机制、装饰器、生成器、迭代器、三元表达式、列表生成式、生成器表达式、函数递归、面向对象、
  • 【数据结构】八大排序 (三)
  • 如何精准操作无人机自动停机坪?
  • (c语言进阶)作业讲解
  • Docker pull 命令
  • 网件R8500 trojan
  • 技术前沿丨Teranode如何实现无限扩容
  • 36、红外遥控(外部中断)
  • 数据库事务的隔离级别
  • PyQt实战 创建一个PyQt5项目
  • 【算法】滑动窗口题单——5.多指针滑动窗口⭐
  • LabVIEW通过编程将图形类控件的X轴显示为时间戳
  • easyrecovery2024绿色版中文语言电脑数据恢复工具