【发布时间】:2013-08-12 15:16:34
【问题描述】:
我正在寻找一种将 char 数组与字符串相关联的方法,以便每当 char 数组更改时,字符串也会更改。我试图将 char 数组和字符串变量都放在一个联合中,但这并没有像编译器抱怨的那样工作......
欢迎提出任何想法...
【问题讨论】:
-
这听起来很像一个 XY 问题 - 也许正确的解决方案是根本不这样做?
-
您可能需要实现一个 C 字符串包装类,该类必须在每次调用其上的方法时重新计算参数。它不会很有效,而且我想不出需要它的充分理由。我能问一下你为什么要找这样的东西吗?
-
为什么需要将字符串作为 char 数组进行操作?我猜稍微重写一下,你可以只用 std::string 。
-
这一切仅仅是为了获得
std::string的额外功能和大量会员功能,同时仍将原始数据暴露给您无法控制的世界吗?您是否至少认为您对未说出的原始问题的“解决方案”可能存在问题,因为解决方案本身是可疑的? (参见 Mats 的评论)。 -
你应该只使用
std::string。您可以通过c_str()从中获取一个 c 字符串。您可以通过data()直接访问缓冲区。它也是C++方式。拥抱变化:-)
标签: c++ arrays string char unions