Загрузка...

В чем различие printf и cout?

Тема в разделе C/C++ создана пользователем exebyte 20 окт 2023. 389 просмотров

  1. exebyte
    exebyte Автор темы 20 окт 2023 11 15 янв 2021
    в интернете понятного для меня объяснения не нашел
     
  2. Welhord
    Welhord 20 окт 2023 12 708 28 сен 2023
    printf - это старший брат cout, так как позволяет форматировать строки
     
    1. Welhord
      Welhord, printf перетек из C, а cout из стандартной библиотеки самой C++(предназначение у них одинаковое, поэтому существенной разницы нет)
      20 окт 2023 Изменено
  3. vtlstolyarov
    vtlstolyarov 20 окт 2023 468 8 янв 2022
    printf - это функция, cout - это поток
     
  4. Daemon
    Daemon 21 окт 2023 1680 8 янв 2021
    printf - это функция, унаследованная из языка C https://ru.cppreference.com/w/cpp/io/c/fprintf
    cout - глобальный объект типа ostream, реализующий работу с символьными потоками, посмотреть его возможности можно здесь https://ru.cppreference.com/w/cpp/io/basic_ostream
    [IMG]
    https://www.linux.org.ru/forum/development/17229538?cid=17229586
    Некоторые примеры можно посмотреть тут:
    cyberforum.ru/blogs/18334/blog507.html
     
    21 окт 2023 Изменено
  5. пользователь
    printf это функция из сишки, всё что ты хочешь вывести - принимается в виде аргументов. первый аргумент - строка форматирования, в ней ты указываешь формат, какие аргументы ожидать функции, ака %d - dword, %c - char, %lf - double и тд (если память не изменяет).
    примеры:
    ⁡printf("hello world\n");
    ⁡⁡
    ⁡printf("number: %d\n", 10); // output: "number: 10"

    cout это функция из плюсов, в которой избавились от подхода из языка Си.
    там аргументы идут через оператор << (называется кстати "сдвиг влево"), и тут всё гораздо проще:
    ⁡std::count << "hello world" << std::endl;
    ⁡⁡
    ⁡std::cout << "number: " << 10 << std::endl;


    в чём разница между std::endl и \n - я тебе с ходу не скажу, но по моему первый вариант очищает буфер или чёт такое) не помню
     
    1. vtlstolyarov
      @пользователь, ты плаваешь в базовой терминологии (при том что не просто "разработчик", а аж целый "куратор", постыдился бы): не оператор сдвига а оператор вставки, ну и сам cout, как я уже говорил, это не функция а стандартный поток вывода (обычно выводящий на дисплей) и никто, естественно, объект потока не вызывает и не передает ему аргументы, а вызывают оператор вставки у которого как раз аргументы есть, их два: первый - это поток (слева от оператора), второй - это объект который надо вставить в поток (справа от оператора), и возвращает этот оператор поток в состоянии после вставки, так что вызовы этого оператора можно выстраивать в цепочку так как слева от оператора всегда будет поток (изнчально заданный или тот который вернул предыдущий оператор вставки).
    2. пользователь
  6. alsoso_guru
    alsoso_guru 25 окт 2023 12 30 сен 2023
    Одно из C другое из C++
     
Загрузка...
Top