【发布时间】:2010-06-14 05:32:14
【问题描述】:
我有一个 String 类,我想重载 + 以添加两个 String* 指针。 像这样的东西不起作用:
String* operator+(String* s1, String* s2);
有什么办法可以避免通过引用传递。 考虑这个例子:
String* s1 = new String("Hello");
String* s2 = new String("World");
String* s3 = s1 + s2;
我需要这种额外的工作。请提出建议。
【问题讨论】:
-
你没有使用 std::string 有什么原因吗?
-
您有 Java 或 C# 背景吗?另外,您为什么要添加两个不同 String 对象的指针,您期望 s3 的结果是什么?
-
C++ 101:不要在不需要指针时使用它们。然后你 1) 有机会避免内存泄漏,2) 获得更简洁和可读的代码,以及 3) 可以进行附加工作。
标签: c++ overloading operator-keyword