Или как вариант вместо
vector<vector<string> > пользовательский тип:
struct my_sentence : vector<string> {
my_sentence(Sentence const* const sent)
{
for (Word const* w = sent->FirstWord(); w; w = w->Next())
push_back(w->Str()); // w->Str() returns char const*
}
};
struct my_text : vector<my_sentence> {
my_text(Text const* const text)
{
for (Sentence const* sent = text->FirstSentence(); sent; sent = sent->Next())
push_back(my_sentence(sent));
}
};
Вопрос тот же, как бы вы написали в этом случае (при условии, что необходимость оптимизации данного места в программе не выявлена)?