Страницы

Поиск по вопросам

среда, 5 февраля 2020 г.

'cout << …' или 'cout.put(…)'?

#cpp


Что лучше использовать для вывода на консоль символов: 'cout << ...' или 'cout.put(...)'?
    


Ответы

Ответ 1



Функция-член класса put стандартного класса basic_ostream, объявленная как basic_ostream& put(char_type c) предназначена только для объектов типа char_type, Она не перегружена для объектов других типов. Поэтому, например, чтобы написать эквивалентный вывод данным предложениям int x = 10; std::cout << "x = " << x << std::endl; вам придется писать int x = 10; std::cout.put( 'x' ).put( ' ' ).put( '=' ).put( ' ' ) << x << std::endl; что выглядит очень вычурно. Внутренне такие функции, как, например, std::endl и std::ends используют функцию put. То есть эта функция считается функцией низшего уровня. В прикладных программах лучше использовать operator << , который перегружен для всех стандартных типов и кроме того может быть перегружен для пользовательских типов. При этом код с использованием этого оператора выглядит более естественным и не вызывает вопросов. На низшем уровне, например, когда вы реализуете свою функцию более высокого уровня, как, например, тот же самый оператор operator << вы можете использовать функцию put.

Комментариев нет:

Отправить комментарий