gpt4 book ai didi

c++ - 在 C++ 中,我认为你可以做 "string times 2"= string string?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:06:52 28 4
gpt4 key购买 nike

我正在尝试弄清楚如何多次打印一个字符串。我收到错误。我刚刚尝试了这条线:

cout<<"This is a string.  "*2;

我期望输出:“这是一个字符串。这是一个字符串。”,但我没有得到。这条线有什么问题吗?如果没有,这是整个程序:

#include <iostream>
using namespace std;


int main()
{
cout<<"This is a string. "*2;

cin.get();
return 0;
}

我的编译器没有打开,因为我正在进行病毒扫描,所以我无法给出错误信息。但考虑到此网站的这段代码相对简单,我希望有人只要看一眼就能知道我是否做错了什么。

感谢您的反馈。

最佳答案

如果你切换到std::string,你可以自己定义这个操作:

std::string operator*(std::string const &s, size_t n)
{
std::string r; // empty string
r.reserve(n * s.size());
for (size_t i=0; i<n; i++)
r += s;
return r;
}

如果你尝试

std::cout << (std::string("foo") * 3) << std::endl

你会发现它打印出 foofoofoo。 (但是 "foo"* 3 仍然是不允许的。)

关于c++ - 在 C++ 中,我认为你可以做 "string times 2"= string string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5145792/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com