有没有办法string
通过在函数中传递它来更新 a 的一部分?
std::string str = "hello world";
我想反转部分字符串,例如从索引 4 到 8。
我有一个函数可以将字符串从开始索引反转到结束索引。如何将索引 4 到 8 的字符串传递给该函数,以便它在str
字符串中自动更新。
你为什么不直接使用std::reverse
?
std::string str = "hello world";
std::reverse ( str.begin() + 4, str.begin() + 8 );
编写一个带有开始/结束迭代器的函数。例如,参见std::reverse()。std::vector 的用法示例在同一页面上。
您可以通过引用传递字符串:
void foo( std::string & inputString )
{
//anything you do here will directly affect the string passed.
}
例如:
void foo( std::string & str )
{
str.append("World!");
}
int main()
{
std::string a = "Hello, ";
foo(a);
std::cout << a;
return 0;
}
将打印出“Hello, World!”。另一种选择是传递字符串的开始和结束迭代器。很多std
功能都是这样工作的。