字符串操作

String Operation

本文关键字:操作 字符串      更新时间:2023-10-16

谁能解释一下auto update_width = [&longest](string const& curr){}我对函数声明的方式感到困惑,也对函数如何在文件内迭代数据感到困惑。文件中有一串单词,程序查找与"aceimnorsuvwxz"匹配最多的最长单词。

ifstream ifs("../data/letter.txt");
if (!ifs) return -1;
string longest;
auto update_with = [&longest](string const& curr)
{
    if (string::npos == curr.find_first_not_of("aceimnorsuvwxz"))
        longest = longest.size() < curr.size() ? curr : longest;
};
for (string curr; ifs >> curr; update_with(curr));
cout << longest << endl;
return 0;
string longest;    
auto update_with = [&longest](string const& curr)

是一个lambda函数,通过引用捕获'longest',并将const字符串ref作为参数,并返回一个字符串。换句话说,Update_with现在是一个函数。你可以在这里阅读更多关于lambda的信息:参考lambda