Printing lists with commas C++

后端 未结 28 1781
时光取名叫无心
时光取名叫无心 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 03:44

    This one overloads the stream operator. Yes global variables are evil.

    #include 
    #include 
    #include 
    #include 
    #include 
    
    int index = 0;
    template class Cont>
    std::ostream& operator<<(std::ostream& os, const Cont>& vec)
    {
        if (index < vec.size()) {
            if (index + 1 < vec.size())
                return os << vec[index++] << "-" << vec;
            else
                return os << vec[index++] << vec;
        } else return os;
    }
    
    int main()
    {
        std::vector nums(10);
        int n{0};
        std::generate(nums.begin(), nums.end(), [&]{ return n++; });
        std::cout << nums << std::endl;
    }
    

提交回复
热议问题