我正在尝试创建一个对字符串执行某些操作的函数。根据我的理解,字符串是字符数组。所以写一下:
cout << name[0];
我们打印一个名为'name'的假定字符串写的第一个字符。
在我的函数中,我必须使用指针来执行所有函数。我目前的做法是制作一个指针:
string *str=&name;
但是当我尝试通过写:
打印指定索引处的字符时cout << *str[0];
它没有编译,我不确定是什么问题。一个解决方案是创建一个动态字符数组,但我想知道是否可以使用指针获取字符串的某些索引处的字符?
答案 0 :(得分:3)
operator[]
的{{3}}高于operator*
,因此*str[0]
与*(str[0])
相同。 str[0]
返回char
,对char
的尊重没有意义..
将其更改为(*str)[0]
。