Author Topic: Глупые вопросы по С++  (Read 1813 times)

Online Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 29391
  • Карма: +4065/-342
    • View Profile
Глупые вопросы по С++
« on: 31 May 2023, 23:05:04 »
  • 0
  • 0
Если вы не против, я поспрашиваю немного.

Вот есть в туториале такой код:
Quote
#include <iostream>
int main () {
std::cout<<"Hello";
return 0;
}

Вопросы:

1. STL используется в педагогических целях или в С реально нет нативной функции для простейшего вывода на экран? После бейсиковского Print это выглядит странно.

2. что именно делает функция cout? она вызывает заданную выше функцию из библиотеки?

3. Почему аргумент оформляется <<, а не <>?


Online Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 29391
  • Карма: +4065/-342
    • View Profile
Re: Глупые вопросы по С++
« Reply #1 on: 01 June 2023, 08:37:49 »
  • 0
  • 0
бумп :)

Offline DarkMax

  • Жестянщик
  • Ветеран
  • *****
  • Posts: 2442
  • Карма: +464/-12
  • Gender: Male
  • UeArtemis
    • View Profile
    • Наша писемність
Re: Глупые вопросы по С++
« Reply #2 on: 01 June 2023, 09:28:12 »
  • 0
  • 0
Это поток вывода. << - оператор вставки. Довольно наглядно вы откидываете текст В поток вывода на экран.
Quote
поток вывода (или «выходной поток») используется для хранения данных, предоставляемых конкретному потребителю данных: монитору, файлу, принтеру и т.д. При записи данных на устройство вывода, это устройство может быть не готовым принять данные немедленно. Например, принтер все еще может прогреваться, когда программа уже записывает данные в выходной поток. Таким образом, данные будут находиться в потоке вывода до тех пор, пока принтер не начнет их использовать.
« Last Edit: 01 June 2023, 09:30:10 by DarkMax »
Tej wojny nikt za nas nie wygra! © Wiedźmin III
Коли зчинять лемент: "Хто ж знав?!" — відповімо: "Ми".

Online Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 29391
  • Карма: +4065/-342
    • View Profile
Re: Глупые вопросы по С++
« Reply #3 on: 01 June 2023, 09:54:33 »
  • 0
  • 0
Если это функция потока, зачем нужна стандартная библиотека? Я не понимаю, что конкретно делает iostream и что cout :-\ ???

Offline Upliner

  • Администратор
  • Герой
  • *****
  • Posts: 4976
  • Карма: +440/-18
  • Gender: Male
  • Кис-кис-кис!
    • View Profile
    • лифчег
Re: Глупые вопросы по С++
« Reply #4 on: 01 June 2023, 10:05:36 »
  • 0
  • 0
1. STL используется в педагогических целях или в С реально нет нативной функции для простейшего вывода на экран? После бейсиковского Print это выглядит странно.
В С/C++ нет такого понятия как "нативная" функция. Все функции нужно объявлять или импортировать. С++ унаследовал это свойство от С, который расчитан на написание ядер операционной системы, где действительно простейшие вещи нужно реализовывать самому. Но для "обычных" программ для этого есть стандартная библиотека.
2. что именно делает функция cout?
cout -- это не функция, это специальный объект, с которым можно производить разные операции. Одна из этих операций -- "<<" -- послать данные в поток.
Угловыми скобками указываются аргументы для include и аргументы для шаблонов, к cout это не относится.
Дві найголовніші помилки українського народу -- зек і зєк.

Online Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 29391
  • Карма: +4065/-342
    • View Profile
Re: Глупые вопросы по С++
« Reply #5 on: 01 June 2023, 18:55:50 »
  • 0
  • 0
короче, подсмотрел, что Питоне то, что выше - print (“Hello”)  :lol:

начну-ка я с Питона, попроще будет

Offline Bhudh

  • Дважды герой
  • **
  • Posts: 5665
  • Карма: +2052/-156
    • View Profile
Re: Глупые вопросы по С++
« Reply #6 on: 01 June 2023, 19:13:19 »
  • 0
  • 0
короче, подсмотрел, что Питоне то, что выше - print (“Hello”)  :lol:
А в Lua: print "Hello".
(При передаче одного аргумента скобки необязательны.)
Jestem dokładny i dociekliwy. (Wg Pinii.)
Всё, что нужно для торжества зла — это бездействие добрых людей. Поэтому бездействовать не надо. Алексей Навальный

Online Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 29391
  • Карма: +4065/-342
    • View Profile
Re: Глупые вопросы по С++
« Reply #7 on: 01 June 2023, 19:23:36 »
  • 0
  • 0
мне только кажется, или Питон очень похож на Бейсик? :o

Offline Bhudh

  • Дважды герой
  • **
  • Posts: 5665
  • Карма: +2052/-156
    • View Profile
Re: Глупые вопросы по С++
« Reply #8 on: 01 June 2023, 19:27:03 »
  • 0
  • 0
В Basic табы не синтагматичны.
Jestem dokładny i dociekliwy. (Wg Pinii.)
Всё, что нужно для торжества зла — это бездействие добрых людей. Поэтому бездействовать не надо. Алексей Навальный

Online Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 29391
  • Карма: +4065/-342
    • View Profile
Re: Глупые вопросы по С++
« Reply #9 on: 01 June 2023, 19:50:56 »
  • 0
  • 0
В Basic табы не синтагматичны.
вы о деталях, а я о принципах. интерпретатор, а не компилятор, построчное исполнение, конец строки - конец высказывания, при ошибке - стоп на строке с ощибкой и т.д. Пока что бейсик - бейсиком ??? :-\

Offline Bhudh

  • Дважды герой
  • **
  • Posts: 5665
  • Карма: +2052/-156
    • View Profile
Re: Глупые вопросы по С++
« Reply #10 on: 01 June 2023, 20:15:59 »
  • 0
  • 0
В JavaScript (и вообще в интерпретируемых языках) то же самое.

Off-Topic: ShowHide
Не "тоже самое", блджад, а "то же самое"! >:(


И вообще программы на Python вполне себе компилируются в exeшник.
Jestem dokładny i dociekliwy. (Wg Pinii.)
Всё, что нужно для торжества зла — это бездействие добрых людей. Поэтому бездействовать не надо. Алексей Навальный

Offline Upliner

  • Администратор
  • Герой
  • *****
  • Posts: 4976
  • Карма: +440/-18
  • Gender: Male
  • Кис-кис-кис!
    • View Profile
    • лифчег
Re: Глупые вопросы по С++
« Reply #11 on: 01 June 2023, 21:36:38 »
  • 0
  • 0
вы о деталях, а я о принципах. интерпретатор, а не компилятор, построчное исполнение, конец строки - конец высказывания, при ошибке - стоп на строке с ощибкой и т.д. Пока что бейсик - бейсиком ??? :-\
Исполнение там не построчное, но в принципе да, похож.
И вообще программы на Python вполне себе компилируются в exeшник.
Этот exeшник -- просто байткод и интерпретатор байткода.
« Last Edit: 01 June 2023, 21:38:28 by Upliner »
Дві найголовніші помилки українського народу -- зек і зєк.

Offline Upliner

  • Администратор
  • Герой
  • *****
  • Posts: 4976
  • Карма: +440/-18
  • Gender: Male
  • Кис-кис-кис!
    • View Profile
    • лифчег
Re: Глупые вопросы по С++
« Reply #12 on: 01 June 2023, 21:57:22 »
  • 0
  • 0
конец строки - конец высказывания
Нет, в Питоне существует куча способов разбить высказывание на несколько строк
Code: [Select]
    return {
        "structural": {k: (v + 1) / 2 for k, v in data.get("morphs", {}).items()},
        "metaproperties": {
            k: v
            for sublist, v in (
                ([("character_" + k), ("last_character_" + k)], v)
                for k, v in data.get("meta", {}).items()
            ) for k in sublist
        },
        "materialproperties": data.get("materials"),
        "type": data.get("type", ()),
    }

при ошибке - стоп на строке с ощибкой и т.д.
Бейсик мог выполняться даже с синтаксической ошибкой, пока не натолкнётся на это самое место, а Питон сразу пишет Invalid syntax и отказывается выполнять файл вообще. Ну и хорошо, что в Питоне нет этих диких End Sub, Next, и самое главное -- нормальный try-except вместо On Error Goto X.
Дві найголовніші помилки українського народу -- зек і зєк.

Online Euskaldun

  • Администратор
  • Трижды герой
  • *****
  • Posts: 29391
  • Карма: +4065/-342
    • View Profile
Re: Глупые вопросы по С++
« Reply #13 on: 01 June 2023, 22:00:28 »
  • 0
  • 0
вы опять о деталях, которые в данном случае несущественны. Вот давайте сравним Питон и С++ с Бейсиком попарно и попробуем угадать: какой язык проще зайдет бейсикисту со стажем? Где есть переносимые навыки, а где учиться с нуля? А то, что строчки можно \ разбивать - мишура, мелочь которая мало (или вообще никак) не влияет на сложность изучения языка

Offline Upliner

  • Администратор
  • Герой
  • *****
  • Posts: 4976
  • Карма: +440/-18
  • Gender: Male
  • Кис-кис-кис!
    • View Profile
    • лифчег
Re: Глупые вопросы по С++
« Reply #14 on: 01 June 2023, 22:04:33 »
  • 0
  • 0
С этим не спорю, меня просто покоробили некоторые детали высказывания, но общий смысл высказывания верный.
Дві найголовніші помилки українського народу -- зек і зєк.