我的 cpp 文件(全局变量)顶部有这个智能指针:
std::unique_ptr<DATA_READ> smartPT(new DATA_READ);
Run Code Online (Sandbox Code Playgroud)
如果智能指针在全局范围内声明会发生什么?我知道函数中的智能指针会在函数结束后自动删除和释放内存,但是在多个函数中使用的全局范围智能指针怎么样?
我有一个代码在文件中搜索字符串,文件可以是1毫克或1克或更大.
我使用ReadFile()WinAPI 获取文件数据并转换为十六进制,然后在转换数据中搜索字符串(之前是十六进制).
我用这个代码进行搜索(字符串搜索):
std::string searchStr = "48656C6C6FA"
std::string fileData = ToHex(inputString);
if(fileData.find(searchStr, 0) != std::string::npos)
{
std::cout << FileName;
}
Run Code Online (Sandbox Code Playgroud)
在2900个文件中搜索字符串大约需要11秒.
有没有其他搜索算法或功能更快?这种方式(上面)有时会错过字符串而不是完美的工作.