Представьте, что считывание строк средней длинны (от 5 до 25 символов) из потока cin — самое узкое место в вашей системе. Напишите функцию ввода, читающей такие строки с максимально возможной скоростью. Допустимо организовать интерфейс функции в угоду быстродействию (даже за счет некоторого неудобства в использовании). Сравните результат с реализацией операции >> для типа string.
Ничего не охота организовывать, да и задание какое то низкоуровневое, в общем от простой код примерно как должно мб делаться.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#include <iostream> using std::cout; using std::endl; using std::cin; #include <string> using std::string; void myget(string& rez) { char c; while(c=cin.get()) { //cout <<c<<endl; if(c=='\n')break; rez+=c; } return; } int main() { cout <<"vvedite ctroky"<<endl; string s; myget(s); cout <<"s= "<<s<<endl; return 0; } |
[youtube]http://www.youtube.com/watch?v=Xxg6Gvn63ps[/youtube]