【发布时间】:2011-07-05 00:58:30
【问题描述】:
在使用 C 进行了一些编程之后,我决定直接进入 C++。起初,我对字符串类的存在感到满意,并且能够将字符串视为整个单元而不是字符数组。但我很快发现,C 风格的字符串的优点是可以让程序逐个字符地遍历它,使用指针算术,并执行所需的逻辑操作。
我现在发现自己处于需要这样做的情况,但编译器告诉我它无法从类型字符串转换为 C 风格的字符串。所以我想知道,有没有一种方法可以使用指针算术来引用单个字符或将参数作为第一个字符的地址传递给函数,同时仍然使用字符串类而无需创建字符数组或者我只是想把我的蛋糕也吃了吗?
【问题讨论】:
-
这里有
char *string::c_str() const -
你可以做 foo = string('hello'); cout
-
我认为@The共产鸭的评论是 OP 的想法:查看字符串中的单个字符并可能改变它们,
c_str()不允许。您可能想将其发布为答案。
标签: c++ arrays class string pointer-arithmetic