字符串下标是关联的索引吗?
Is string subscript an associated index?
下标运算符 ([]( 采用 std::string::size_type 值。 运算符返回对给定字符的引用 位置。下标中的值称为"下标">pp93~94 C++引物5ed。
和
向量是对象的集合,所有这些对象都具有相同的类型。集合中的 Evey 对象有一个关联的索引,它给出了 访问该对象。pp96 C++ 入门 5 版。
问题:
字符串下标是关联的索引吗?如果不是,std::string 类型的下标和集合/向量的关联索引有什么区别?
将"索引"视为"项目的序列号",而不是将"索引"视为"书籍中的查找表"。
他们所说的向量是,其中的元素可以通过顺序的数字索引访问:v[0]
、v[1]
等。
字符串和其中的字符也是如此。
std::vector::operator[]
,函数:
返回对指定位置处的元素的引用。 不执行边界检查。
根据std::basic_string::operator[]
,函数:
返回对指定位置处字符的引用。 不执行边界检查。如果 pos> size((,则行为未定义。
因此,它们几乎是一回事。术语关联索引的意思正是它听起来的样子;它是与元素关联的索引,仅此而已。
这里的措辞相当精确,但这两种简单的情况没有真正的区别。对于string
和vector
,X[0]
表示X的第一个元素。也就是说,0是X的第一个元素的相关索引,0也是operator[]
的参数,也就是下标。
要查看一个不那么简单的示例,请考虑std::string_view
。可以string_view字符串的第 100 到 200 个字符。现在view[5]
有下标 5,但它引用基础字符串中的第 105 个字符。
- 数组索引的值没有增加
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- 查找最接近的大于当前数字的数字的索引
- 在C++中调整向量中的索引
- 重载元组索引运算符-C++
- 给定一个向量,如何找到该向量的所有子集和的原始索引
- 关联容器的下界复杂性:成员函数与非成员函数
- 为std::string的某个索引赋值
- 并行用于C++17中数组索引范围内的循环
- 跟随整数索引列表的自定义类迭代器
- 如何在for循环中包含两个索引值的测试条件
- D3D11-将混合权重和索引传递到顶点着色器
- std::future_error:无关联状态
- 将转换字符键入 int 以用作向量C++的索引
- 在 C++ 中访问数组负索引处的内存不会返回垃圾
- 如何为圆环创建索引
- 在子集化后将包含索引号的列表列表映射到标准索引序列
- 字符串下标是关联的索引吗?
- 如何对包含通过索引相互关联的数据的多个数组进行排序
- C++相当于Perl的Tie::IxHash(索引关联数组)?