Так istringstream
копирует содержимое строки при инициализации, например,
string moo("one two three four");
istringstream iss(moo.c_str());
Мне было интересно, есть ли способ заставить std::istringstream
использовать данное c_str
в качестве буфера без копирования. Таким образом, не нужно будет копировать большие биты памяти перед передачей std::istringstream&
функциям, которые принимают istream&
в качестве аргумента.
То, что я пытался сделать, - это преобразовать некоторые функции, которые принимают std::ifstream&
аргументы (в основном это парсеры), в istream&
. Должен ли я сделать свой собственный подкласс istream
для этого?