关于引用数组位置的问题

Question on refering to a position of an array

本文关键字:数组 位置 问题 引用 于引用      更新时间:2023-10-16

我开始学习C ++语言,我想知道是否可以使用另一个数组的位置来引用数组的位置。 例:

pos[x[3]] = 0;

只要x[3]是整型类型或可隐式转换为整型类型,代码在语法上是有效的。不过,你的工作是检查3是否是数组x的有效索引,并x[3]有效的索引pos

例如,不允许pos[1.0],因为1.0double。(令人讨厌的是,您可以在重载[]运算符中使用double类型std::vector

当然。

前提是声明x如下内容:

int x[size];
unsigned int x1[size];
size_t x2[size];

这些中的任何一个都应该有效。但是,这样的事情不会:

std::string x3[size];

x3是一个字符串数组。C 数组没有非整数访问权限。但是任何整数类型都应该可以正常工作。


附言如果要使用std::string作为远距离来访问数组,则需要一个std::map