我已经将一个文本文件加载到一个缓冲区中,并且想使用良好的 C++ 风格,使用了 vector<char>
.然后我想将迭代器从所述 vector 传递给 char*
函数参数 - 我假设在引擎盖下, vector 迭代器只是解析为指向成员类型的指针。但是,我收到以下错误:
no known conversion for argument 2 from ‘const __gnu_cxx::__normal_iterator<char*, std::vector<char> >’ to ‘char*’
vector 迭代器不只是一个指针吗?在那种情况下只使用指针会更有效吗?
最佳答案
由于我们正在处理 std::vector<char>
并且 vector 保证在内存中是连续的,你可以做 func( &(*iteratorVariable) );
只是引用值并返回地址。
关于c++ - 将 vector 迭代器转换为成员指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17005986/