这里的字符串函数是什么意思

what does here string function mean

本文关键字:是什么 意思 函数 字符串 这里      更新时间:2023-10-16
string ans="";
int x=0,u=1,v=2,y=0;
ans+=string(u-x,'R');
ans+=string(v-y,'U');

在这里字符串函数实际上存储在变量ans什么

string ans="";

在这一行之后,ans只是"".

int x=0,u=1,v=2,y=0;
ans+=string(u-x,'R');

string(u-x, 'R')等效于string(1 - 0, 'R')因此构造一个包含 1 个'R'副本的字符串,然后将其附加到ans所以现在ans == "R".

string(v-y, 'U')等同于string(2 - 0, 'U')所以你最终会得到"RUU"作为最终答案。

这里

ans+=string(u-x,'R');

string(u-x,'R')调用std::string的构造函数:

basic_string( size_type count,    
CharT ch,
const Allocator& alloc = Allocator() );

使用字符 ch 的计数副本构造字符串。

此外,还有一个将一个字符串追加到另一个字符串的operator+=

把东西放在一起,简化代码一点,我们得到

std::string ans;                    // ans == ""
auto countR = 1;
auto countU = 2;
ans += std::string(countR,'R');     // ans += "R"  -> ans == "R"
ans += std::string(countU,'U');     // ans += "UU" -> ans == "RUU"

RUU.

字符串的构造函数之一采用两个参数 string (size_t n, char c(; 它们用 c 的 n 次构造字符串实例。