gpt4 book ai didi

c++ - 以常量引用作为输入的函数

转载 作者:太空宇宙 更新时间:2023-11-04 14:43:46 25 4
gpt4 key购买 nike

我正在尝试制作一个函数,该函数将字符串的常量引用作为输入,并在字符串的每个字符向右旋转 1 位后返回该字符串。使用引用和指针仍然让我感到困惑,我不确定如何从常量引用中获取字符串。

string rotate(const string &str){
string *uno = &str;
string dos = rotate(uno.rbegin(), uno.rbegin() + 1, uno.rend());
return dos;}

这是我目前得到的,但无法编译。任何有关如何从常量引用中正确获取字符串的提示都将不胜感激。

最佳答案

如果不违反参数上的 const 约定,您将无法就地执行旋转,因此您应该复制输入并返回一个新字符串:

string rotate(const string &str){
string uno = str;
rotate(uno.rbegin(), uno.rbegin() + 1, uno.rend());
return uno;
}

另一个合理的选择是使用 std::rotate_copy

关于c++ - 以常量引用作为输入的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30678261/

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