#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.
Комментариев нет:
Отправить комментарий