我正在寻找一种在编译时构建字符串数组的简单方法。对于测试,我将一个名为的类放在一起,该类Strings
具有以下成员:
Strings();
Strings(const Strings& that);
Strings(const char* s1);
Strings& operator=(const char* s1);
Strings& operator,(const char* s2);
使用它,我可以成功编译如下代码:
Strings s;
s="Hello","World!";
该s="Hello"
部分调用operator=
返回 aStrings&
然后调用operator,
get 的部分"World!"
。
我无法开始工作(在 MSVC 中,尚未尝试任何其他编译器)是
Strings s="Hello","World!";
我假设这里Strings s="Hello"
会调用复制构造函数,然后一切都会与第一个示例相同。但我得到了错误:error C2059: syntax error : 'string'
但是,这很好用:
Strings s="Hello";
所以我知道复制构造函数至少对一个字符串有效。有任何想法吗?我真的很想让第二种方法工作,只是为了让代码更干净一些。