【发布时间】:2020-04-29 00:46:41
【问题描述】:
void printAllPermutations(string s)
{
// Sorting String
string temp(s);
sort(temp.begin(), temp.end());
// Print first permutation
cout << temp << endl;
// Finding the total permutations
int total = calculateTotal(temp, temp.length());
for (int i = 1; i < total; i++)
{
nextPermutation(temp);
}
}
int main()
{
string s = "AAB";
printAllPermutations(s);
}
string 's' 是函数 printAllPermutations() 的形式参数。 我的疑问是: “string temp(s);”怎么样?当's'也是一个字符串并且'temp'是需要创建的新字符串时写?
【问题讨论】:
-
我不明白你在问什么。请澄清你的问题。
s是std::string,temp是从s复制构造的std::string。std::string有一个复制构造函数,它将数据从s复制到temp。与将main()中的s复制到printAllPermutations()中的s相同
标签: c++ string syntax parameter-passing declaration