Printing lists with commas C++

后端 未结 28 1783
时光取名叫无心
时光取名叫无心 2020-11-22 03:33

I know how to do this in other languages, but not C++, which I am forced to use here.

I have a Set of Strings that I\'m printing to out in a list, and they need a co

28条回答
  •  花落未央
    2020-11-22 04:07

    Can use functors:

    #include 
    
    string getSeparatedValues(function condition, function output, string separator)
    {
        string out;
        out += output();
        while (condition())
            out += separator + output();
        return out;
    }
    

    Example:

    if (!keywords.empty())
    {
        auto iter = keywords.begin();
        cout << getSeparatedValues([&]() { return ++iter != keywords.end(); }, [&]() { return *iter; }, ", ") << endl;
    }
    

提交回复
热议问题