Задать вопрос
  • Разница между двумя конструкциями?

    stiicky
    @stiicky
    cout << "Hello, World!"; использует перегрузку operator<< связанная с массивом символов, заканчивающимся нулем "hello", который представляет собой const char[6], на const char* при передаче в качестве аргумента operator<< :
    template< class CharT, class Traits >
    basic_ostream<CharT,Traits>& operator<<( basic_ostream<CharT,Traits>& os,
                                             const char* s );


    cout << string("Hello, World!"); использует оператор<< перегрузка для работы со строками. 
    string - это typedef для std::basic_string<char, std::char_traits<char>, std::allocator<char>>.
    Ответ написан
    Комментировать