如何在 c++ 中将字符串迭代器变量传递给函数?
How to pass string iterator variable to a function in c++?
下面的代码只是使用另一个称为递归的函数打印从主函数获得的字符串。我只是想知道如何将字符串迭代器变量传递给另一个函数。但是我编写的代码不会打印任何结果。有人可以告诉我错误是什么以及我可以做些什么来使代码工作吗?
#include <iostream>
#include <string>
using namespace std;
void recurse(string::iterator &start, string::iterator &end)
{
while(start != end)
{
cout << *start;
++start;
}
}
int main()
{
string s;
string::iterator i = s.begin(), j = s.end();
cout << "Enter the string here: ";
getline(cin, s);
recurse(i, j);
}
在初始化期间,i and j
指向无效地址(因为s
为空(。但是当你接受输入时,它会得到一个新的字符串,i and j
指向旧地址(无效(。
因此,在接受输入后声明迭代。
string s;
cout << "Enter the string here: ";
getline(cin, s);
string::iterator i = s.begin(), j = s.end();
recurse(i, j);
相关文章:
- 是否可以将变量/函数返回作为模板参数传递
- 是否有一种方法可以修复编译器未找到特定的OPENCV变量/函数
- 访问实例化类的变量/函数
- 如何在变量函数参数列表中检测给定类型的参数的可用性,并在处理完所有参数后采取行动
- C 多组变量函数参数
- 最有cpu效率的方法是使用std::算法和变量函数模板的参数
- 在此作用域中未声明条件变量函数
- C 关于将数组复制到向量并调用其变量 /函数
- 仅在C 中的一个变量上,两个变量函数的数值集成(使用数值配方库)
- 在应用变量函数的矩阵元素上循环
- 如何向调试器隐藏变量/函数名
- C++11变量函数类型模板参数
- 变量函数参数的奇怪问题
- C++变量函数和cout
- c++模板变量函数未定义引用
- 我可以使用枚举类值作为变量函数的参数吗?
- 从另一个类访问变量/函数
- <"变量/函数"的多重定义>
- 从c++到C文件中定义的变量/函数的未定义引用
- 为什么转换变量函数参数很重要?