Если это имеет значение вот другой способ извлечь маркеры из входной строки, полагаясь только на стандартные средства библиотеки. Это - пример питания и элегантности позади дизайна STL.
#include
#include
#include
#include
#include
int main() {
using namespace std;
string sentence = "And I feel fine...";
istringstream iss(sentence);
copy(istream_iterator(iss),
istream_iterator(),
ostream_iterator(cout, "\n"));
}
Вместо того, чтобы копировать извлеченные маркеры в поток вывода, можно было вставить их в контейнер, с помощью того же дженерика copy
алгоритм.
vector tokens;
copy(istream_iterator(iss),
istream_iterator(),
back_inserter(tokens));
... или создают vector
непосредственно:
vector tokens{istream_iterator{iss},
istream_iterator{}};
В этом случае область приложения - это электронное чтение, и в этом случае преимущества E-ink более важны, чем недостатки (медленное обновление дисплея).
Я провел дальнейшие исследования Android. Я считаю, что хитрость заключается в асинхронном обновлении отображения; чтобы предоставить приложениям среду, которая имитирует немедленные обновления дисплея, одновременно обнаруживая соответствующие обновления (например, с помощью графического процессора и / или MMU), чтобы иметь интеллектуальное обновление дисплея. Не все типы приложений подходят; то есть игры и воспроизведение видео требуют немедленных обновлений дисплея.
Создание такой платформы будет менее чем тривиальным; однако с ростом числа различных аппаратных платформ абстракции постоянно становятся лучше.