boost::splitcopies the split line to SequenceSequenceT(e.g. a std::vector<std::string>). boost::iter_splitputs iterators(in particular, iterator ranges) in SequenceSequenceT.
This actually means two things:
Using splitwill create copies, so any changes to the returned string container will not be visible to the original string. In addition, you do not need to worry about the invalidity of the iterator.
iter_split , , , , . -, iter_split, . , , , .