我在解决boost库string_ref查找函数的作用时遇到了一些问题。我写了以下程序
int main(int argc, char **argv) {
boost::string_ref ref = string("<a>\n1234567\n</a>\n<a>");
cout << ref.find_first_of("<a>") << endl; // output 12
cout << ref.find("<a>") << endl; // output 17
}
我不明白为什么找到给我的模式的最后一次出现,find_last_of甚至根本没有意义!有人可以给我一些帮助吗?
答案 0 :(得分:3)
来自docs:
Boost.StringRef是Jeffrey Yaskin的N3442的一个实现:string_ref:一个字符串的非拥有引用。
boost::string_ref ref = string("<a>\n1234567\n</a>\n<a>");
没有任何东西,只是引用它。所以当你写:
string
临时future.get();
在行尾被销毁,现在你有一个悬空引用。其他一切都是UB。