Вопрос Зачем делают << и >> (cout и endl) в C++

Регистрация
31 Дек 2013
Сообщения
65
Репутация
0
Спасибо
0
Монет
0
Зачем делают << и >> (cout и endl) в C++
 
Это оператор вывода в консоль, который используется вместе с объектом std::cout.
std::cout это объект типа std::eek:stream
Этот оператор является перегруженной функцией, то есть такой, который имеет множество определенных функций с одним и тем же именем, но разной сигнатурой.
 
Это операторы. В зависимости от контекста есть варианты для чего они используются.
Соотв. могут быть перегружены для каких-либо своих целей.

Создатели C++ посчитали, что будет красиво показывать направления ввода-вывода операторами (как-бы стрелками-направлением) в контексте потоков ввода-вывода.
Я так понимаю Вы столкнулись с std::cout << "Hello world";
Буквально вывести в cout "Hello world"

Но так-же они н-р используются при сдвиге int a = 5, b = a >> 1;
См. тему побитовые сдвиги.
 
Затем, что так удобнее

int x = 5;
std::string y = "test";
std::cout << x << y;

Это удобнее, чем добавлять int к строке и затем эту строку выводить какой-то функцией.
Хотя, по сути, могли бы просто функцию с variadic arguments сделать, как в других языках... Ну, видимо, по тем временам, когда создавался C++, были какие-то основания так не делать.
Одно из них - функция должна носить какое-то имя, и какое имя ни придумай, все равно это может вносить путаницу, когда кто-то захочет сделать нечто другое с таким же именем. А C++ очень универсальный язык, там могут что угодно хотеть сделать.
 
Назад
Сверху