我试图通过使用nmap将文件映射到内存来提高我的纯文本阅读器性能.目前我有一个接收const char*和该数组长度的函数.我需要在这个char数组上执行搜索.
这就是我目前所拥有的
void parseVertex(
const char * line,
unsigned int length,
std::vector<glm::vec3> & vertices)
{
if(length == 0)
{
return;
}
char space = ' ';
char * pos = std::find(line, line + length, space);
}
Run Code Online (Sandbox Code Playgroud)
std::find产生错误:类型为const char*的值不能用于初始化char*类型的实体
什么是正确的使用方法std::find?
std::find return-type取决于你传递给它的内容.
line是const char*,所以std::find会回来const char*,不是char*.写这个:
const char * pos = std::find(line, line + length, space);
Run Code Online (Sandbox Code Playgroud)
同样,如果你通过char*,你会得到char*.
希望有所帮助.