重载+添加两个指针

Jee*_*eet 0 c++ overloading operator-keyword

我有一个String类,我想重载+来添加两个String*指针.这样的事情不起作用:

String* operator+(String* s1, String* s2);
Run Code Online (Sandbox Code Playgroud)

有没有办法避免通过引用传递.考虑这个例子:

String* s1 = new String("Hello");
String* s2 = new String("World");

String* s3 = s1 + s2;
Run Code Online (Sandbox Code Playgroud)

我需要这种额外的工作.请建议.

GMa*_*ckG 8

你不能.您不能为内置类型重载运算符.无论如何,为什么要使用指针呢?尽可能避免动态分配!

String s1("Hello");
String s2("World");

String s3 = s1 + s2;
Run Code Online (Sandbox Code Playgroud)

那更好,并且不泄漏.现在你可以重载:

String operator+(const String& s1, const String& s2);
Run Code Online (Sandbox Code Playgroud)

你多么渴望.当然,这是浪费时间,因为std::string存在.:)