【发布时间】:2013-03-28 19:59:57
【问题描述】:
我开始从具有 Java 和 C# 知识的一般编程背景中学习一些 C++。我正在处理一些字符串,我对一些字符串函数感到沮丧。我习惯于字符串函数返回一个新字符串,而旧字符串保持不变。我知道这是在 C# 和 Java 中完成的,因为字符串是不可变的,但我真的希望 C++ 中的字符串方法也能以这种方式工作。有什么我想念的吗?现在我正在做这样的事情:
std::string temp = word;
Func(temp.erase(i , 1));
编辑:这就是我的想法:
Func(word.substr().erase(i , 1);
你们觉得哪一个最好?我想这是一件小事,只是想知道。
【问题讨论】:
-
这不会抹去什么吗?
-
是的......你到底想用字符串做什么?
-
如您所愿,C++ 不是 C#,而且永远不会是。与其尝试将其转换为另一种语言,不如拥抱现有的语言(带有缺陷),并将其视为一个完全独立的实体(因为它是)
-
@Ben313:好的,但要意识到你最近的陈述与标题和你问题中的几乎每一句话都矛盾。
-
Func(std::string(word).erase(i, 1));