Параметры по умолчанию. Передача аргументов в функцию по умолчанию. Аргументы по умолчанию. Урок #38

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ม.ค. 2025

ความคิดเห็น • 123

  • @liliyaarno4189
    @liliyaarno4189 7 ปีที่แล้ว +132

    Вы просто умничка !! Такие понятный видео - ооочень большая редкость в интернете !! Спасибо !

    • @SimpleCodeIT
      @SimpleCodeIT  7 ปีที่แล้ว +13

      Спасибо за поддержку! =)

    • @skorp291
      @skorp291 7 ปีที่แล้ว +2

      Лиля, я с тобой полностью согласен!!!

  • @dzmitry6856
    @dzmitry6856 7 ปีที่แล้ว +71

    Сергей, спасибо вам огромное!! Очень доступно объясняете. Обычно никогда не комментирую никого, но тут качество вашего труда просто супер. Продолжайте в том же духе!

    • @SimpleCodeIT
      @SimpleCodeIT  7 ปีที่แล้ว +8

      Благодарю за поддержку!

  • @jonquil2747
    @jonquil2747 6 ปีที่แล้ว +83

    Как же я рад что ваши уроки все еще актуальны) Другого такого учителя днем с огнем не найти)) Спасибо большое!

    • @xxx-vy3sv
      @xxx-vy3sv 2 ปีที่แล้ว

      ну как, обучился?

    • @neobekker
      @neobekker 2 ปีที่แล้ว

      @@xxx-vy3sv , звучит как усмешка) А что по его урокам нельзя научиться?

    • @xxx-vy3sv
      @xxx-vy3sv 2 ปีที่แล้ว

      @@neobekker я хотел реально узнать, можно ли обучатьсч по его урокам

    • @wekw
      @wekw 2 ปีที่แล้ว +2

      @@xxx-vy3sv он дает тебе базу, только то что ты будешь узать в базовых задачах. без книг, желания и серфинга в гугле. ничего не выучить.

  • @Ermine882
    @Ermine882 7 ปีที่แล้ว +26

    Спасибо за урок! Понятно и лаконично.

  • @Retyioaqe
    @Retyioaqe ปีที่แล้ว +7

    Если с использованием прототипа функции, то можно так:
    void foo(size_t = 5);
    int main() {
    foo();
    return 0;
    }
    void foo(size_t a) {
    for (size_t i = 0; i < a; i++)
    std::cout

    • @sleepyNovember_project
      @sleepyNovember_project 11 หลายเดือนก่อน

      А, получается у меня с прототипом не работало, потому что я указал параметры по умолчанию в самой функции а не её прототипе..

    • @kalamary2528
      @kalamary2528 11 หลายเดือนก่อน

      спасибо, вы очень мне помогли с решением проблемы, при использовании параметров по умолчанию в классе!

  • @error7654
    @error7654 7 ปีที่แล้ว +16

    Спасибо за урок! В функцию передается аргумент, а при объявлении функции используется параметр.

  • @SimpleCodeIT
    @SimpleCodeIT  7 ปีที่แล้ว +18

    #параметрыпоумолчанию #SimpleCode #урокипрограммирования

  • @rerurkful
    @rerurkful 5 ปีที่แล้ว +5

    Самые нужные ошибки вы исключаете сразу
    Спасибо !!!!

  • @ИринаИрина-ш5ы7р
    @ИринаИрина-ш5ы7р ปีที่แล้ว

    Спасибо за разьяснение о том,что порядок следования параметров начинается с простых параметров,и только за тем,что по умолчанию!!

  • @dmytroNaholiuk
    @dmytroNaholiuk 5 ปีที่แล้ว +170

    3 дизлайка поставили преподы из ВУЗов))))))

    • @articool32
      @articool32 5 ปีที่แล้ว +4

      Уже 5...

    • @курсовая2019
      @курсовая2019 4 ปีที่แล้ว +2

      @@articool32 хорошо, что до сих пор 5), люди меняются в лучшую сторону)

    • @man6513
      @man6513 4 ปีที่แล้ว +1

      @@курсовая2019 , почему стало 7

    • @claudimdmc137
      @claudimdmc137 4 ปีที่แล้ว +1

      AlexTheFox_64 дурачки всегда найдутся.

    • @SaffronChipMCPE
      @SaffronChipMCPE 4 ปีที่แล้ว

      @@man6513 они накаркали

  • @Vital1tch
    @Vital1tch ปีที่แล้ว +1

    Лучший преподаватель по языку С++, я из 2023 года. Его уроки ещё актуальны)

    • @Novichek55
      @Novichek55 ปีที่แล้ว +2

      а чё тут может быть неактуального? это же основы - синтаксис языка, а не какие-нибудь библиотеки которые со временем могут устареть 🤣

  • @ДмитрийБаранский-р7ф
    @ДмитрийБаранский-р7ф 7 ปีที่แล้ว +4

    Видео понравились. Все понятно и доходчиво. Так держать, Сергей!!!

  • @scvirel7135
    @scvirel7135 6 ปีที่แล้ว +7

    Все понятно и доходчиво.СПАСИБО!!!!!!

  • @user-mykyta_vyshniakov
    @user-mykyta_vyshniakov 4 ปีที่แล้ว +7

    Спасибо за уроки! Было бы еще огромным + если бы вы в комментариях к видео давали к каждому уроку дз (пусть и не большое), чтобы каждую фишку показанную в роликах можно было тут же закрепить. Изучаю С++ по Доусону и параллельно ваши ролики.

  • @geedroponika
    @geedroponika 3 ปีที่แล้ว +7

    а если из двух параметров по умолчанию, мне нужно изменить только второй ?

  • @Vlad_Ofitserov
    @Vlad_Ofitserov 2 ปีที่แล้ว +1

    Лучший канал про программирование на TH-cam 👍

  • @Xack3r
    @Xack3r 11 หลายเดือนก่อน +2

    Если у кого-то ошибка с параметрами по умолчанию у прототипа функции, это означает что нужно все параметры указать в прототипе и потом не указывать их в самой функции!
    ПРИМЕР:
    void foo(int a, string b = "*"); Указываем параметр по умолчанию в прототипе
    foo(10); Вызов
    foo(int a, string b){ И не указываем параметр по умолчанию в самой функции
    .....
    }

  • @ЕвгенийТрегуб-х3г
    @ЕвгенийТрегуб-х3г 4 ปีที่แล้ว +4

    Самый нормальный канал, самые доступные объяснения, СПАСИБО )))!

  • @ВладиславФедун
    @ВладиславФедун 6 ปีที่แล้ว +5

    Спасибо за контент!

  • @ВиталийСусский-я2м
    @ВиталийСусский-я2м 4 ปีที่แล้ว +6

    удобная фича кстати )),
    еще раз
    cout

  • @borisfrolov1046
    @borisfrolov1046 ปีที่แล้ว

    Все понятно, благодарю

  • @ДмитрийОсипов-х1ф
    @ДмитрийОсипов-х1ф 7 ปีที่แล้ว +4

    * Самые понятные, видео уроки по c++, на всём (RU) youtube *

  • @АлексейВоликов-е9я
    @АлексейВоликов-е9я 3 ปีที่แล้ว

    спасибо вам огромное!! Очень доступно объясняете.

  • @archiechellaut9483
    @archiechellaut9483 3 ปีที่แล้ว

    Большое спасибо за урок!

  • @sulfursw9286
    @sulfursw9286 5 ปีที่แล้ว

    Отличное объяснение! Спасибо вам большое

  • @Evgeny..
    @Evgeny.. 4 ปีที่แล้ว +1

    Спасибо за урок!)))

  • @azidkov
    @azidkov 7 ปีที่แล้ว +11

    привет Сергей! у меня следующий вопрос: а как правильно обращаться к функции если я хочу использовать, например, первый аргумент по умолчанию, а второй аргумент задать определенным?

    • @SimpleCodeIT
      @SimpleCodeIT  7 ปีที่แล้ว +6

      Аргументы по умолчанию всегда должны идти последними. В таком случае, при вызове функции, нужно передавать только те параметры, для которых нет значений по умолчанию.

    • @azidkov
      @azidkov 7 ปีที่แล้ว +9

      прошу прошения, я видимо некорректно сформулировал вопрос. Допустим у меня есть функция где используются три параметра и все они заданы со значениями по умолчанию ( void foo(int a=1, int b=2, int c =3)). А где-то далее в коде я вызываю эту функцию, использую первые две переменные со значениями по умолчанию а третий параметр задаю с = 5. Так вот вопрос, как правильно записать эту функцию?

    • @SimpleCodeIT
      @SimpleCodeIT  7 ปีที่แล้ว +27

      Так нельзя делать.

  • @РусланКарнеенко
    @РусланКарнеенко ปีที่แล้ว

    СПАСИБО

  • @nibunimu
    @nibunimu 4 ปีที่แล้ว +1

    Забыл сказать что параметры по умолчанию можно указывать только в прототипе функции, если прототип существует.

  • @nexusgaming1912
    @nexusgaming1912 5 ปีที่แล้ว

    Ещё надо было добавить что не нужно дублировать дефолтные значения аргументов функции если они уже указаны в прототипе.

  • @Iodusmotrit
    @Iodusmotrit 3 ปีที่แล้ว +1

    А мы можем задать значение, первой переменной в функции, и скажем третьей, вот пример
    Void foo (int a, int b = 7, int c = 0)
    Вот в этом примере задать только первой и третей а второй оставить как есть, но не задавать ту же цифру7 , а просто как ба так и оставить

    • @mr.warpunch6007
      @mr.warpunch6007 3 ปีที่แล้ว

      Изи, смотри, как будешь вызывать функцию, в скобках присвой какое тебе надо значение для int a, второй переменной b присвой значение 0 и также присвой какое тебе надо значение для int c
      Всё гениальное просто, а автору большое спасибо за его видео и труд, низкий поклон вам Сергей, обещал вам, что если стану программистом, то как следует поддержу канал, я иду к этой цели!

    • @JJzerro
      @JJzerro 2 ปีที่แล้ว +3

      @@mr.warpunch6007 тогда ведь b станет равен 0. Выше был ответ на похожий комментарий и Сергей (SimpleCode) написал, что нельзя так

  • @Ms001man
    @Ms001man 6 ปีที่แล้ว

    спасибо!

  • @ЯрославГоловко-ф6и
    @ЯрославГоловко-ф6и 4 ปีที่แล้ว

    спасибо

  • @sleepyNovember_project
    @sleepyNovember_project ปีที่แล้ว

    Почему-то возникла мысль, что int по умолчанию в цикле for объявлен буквой "i" потому что в цикле выполняются итерации (iterations)

  • @jacksmirnoff3695
    @jacksmirnoff3695 6 ปีที่แล้ว +1

    А вот интересно, что когда объявляешь сначала прототип с параметром по умолчанию, а потом в описании самой функции ниже тоже указываешь параметр по умолчанию, то пишет ошибку. Методом тыка пришел к выводу, что параметр по умолчанию нужно указывать только в прототипе, если вообще используешь прототип. Или я чет не вкурил?

  • @thatsmehelloguys
    @thatsmehelloguys 5 ปีที่แล้ว +1

    слушай, ответь мне пожалуйста, а если я хочу пропустить второй параметр оставить по умолчанию, но поменять третий, что делать? могу так допустим написать при вызове? foo(1, ,3); что бы он оставил 2 - ой параметр как есть, а третий поменять

    • @L1KDE
      @L1KDE 4 ปีที่แล้ว +1

      Поменяй их местами.

  • @Artem-up5xw
    @Artem-up5xw 6 ปีที่แล้ว

    thanks

  • @DaNiiLGdd
    @DaNiiLGdd 2 ปีที่แล้ว

    а если я хочу поменять b а (а) оставить по умолчанию |, void foo(int a = 2, double b = 3); то как

  • @ИльнарЗайнуллин-ю3д
    @ИльнарЗайнуллин-ю3д 3 ปีที่แล้ว

    А материалы в общем на сколько часов по С++?)

  • @chelovechek7773
    @chelovechek7773 8 หลายเดือนก่อน

    👍

  • @ЕвгенийМисюра-х2ы
    @ЕвгенийМисюра-х2ы 5 ปีที่แล้ว

    Сергей , как настроить постройку проэкта , без функцыи _getch(); так как в вашем случае??

  • @АндрейЖуков-р1з3т
    @АндрейЖуков-р1з3т 2 ปีที่แล้ว

    Есть вопрос: допустим у меня определена функция foo(int a=2, int b=3), могу ли я обратиться к функции foo с a- по умолчанию, b - собственное значение, при этом явно не указывая а в обращении к функции?

    • @infinity-w
      @infinity-w 2 ปีที่แล้ว

      Сказать что это просто - ничего не сказать. Можно использовать std :: bind для выполнения такой операции или в C ++ 14/17 можно использовать лямбда-функцию и выполнить то же самое. Но проще для этой цели передать в функцию массив или структуру. Как-то так )

  • @Purpursarkans
    @Purpursarkans 5 ปีที่แล้ว

    а как создать прототип для такой функции? если у нас есть void Sum(int a = 0, int b = 0){ // код} и записать в начале кода void Sum(); компилятор ругается на отсутствие данной функции, если записать void Sum(int a = 0, int b = 0); будет ругаться на перезапись значений по умолчанию, а если записать void Sum(int a, int b ); то значения по умолчанию и все пропадают, что делать и как правильно создать такой прототип?

    • @BadDanFeeds
      @BadDanFeeds 5 ปีที่แล้ว +3

      В прототипе функции необязательно указывать имена передаваемых в неё переменных, можно просто указать столько типов данных,
      сколько мы передаём в функцию переменных, например:
      void Func(int, bool);
      void Func(int a, bool b) { /*body*/ }
      Крч, просто пиши типы данных, без имён, и всё.

    • @Nyamchik-0_0
      @Nyamchik-0_0 4 ปีที่แล้ว +1

      @@BadDanFeeds Спецом попробовал ваш вариант, VS2017 работает норм если функция и прототип до main но если закинуть ее за main то компилятор ругается что у него нет аргументов для передачи и по умолчанию не работает, работает только если в прототипе указать значения по умолчанию а в самой функции просто тип и переменную.

  • @Parfomor
    @Parfomor 5 ปีที่แล้ว

    почему это не работает в онлайн компиляторах?

  • @ОлександрЄр
    @ОлександрЄр 2 ปีที่แล้ว

    Почему у вас работают функции без return? Мне капилятор даёт ошибку. В чем проблема?

    • @bartonby-3976
      @bartonby-3976 2 ปีที่แล้ว

      тип возвращаемого значения поставь void

  • @Yupitrer
    @Yupitrer 4 ปีที่แล้ว

    Спс. Не знал

  • @malygin_do
    @malygin_do 5 ปีที่แล้ว

    Поставил я себе задачу заполнить двумерный массив уникальными случайными числами. Заполнить так массив труда не составило, но вот сделать проверку на повторение не подучается. Может кто-нибудь что-то посоветовать?

    • @immamann
      @immamann 5 ปีที่แล้ว +1

      //main
      srand(time(NULL));
      const int row = 5;
      const int col = 5;
      int arr[row][col];
      for (int i = 0; i < row; i++) {
      for (int j = 0; j < col;) {
      bool alreadyhere = false;
      int newRand = rand() % 25+1;
      for (int k = 0; k

  • @Artem-up5xw
    @Artem-up5xw 6 ปีที่แล้ว

    когда будет стрим?

  • @НикитаСидоряка
    @НикитаСидоряка 3 ปีที่แล้ว

    Заметил, что эти параметры по умолчанию очень криво и непонятно работают с прототипами функций. Точнее вообще не работают, особенно, когда хочешь передать только 1 параметр, например из двух. Поставил функцию в начало и удалил прототип - заработало.

  • @roger461
    @roger461 5 ปีที่แล้ว

    Сергей, попытался использовать прототип функции. При наличии дефолтных переменных в функции компилятор ругается. Подскажите пожалуйста, как быть в подобной ситуации и все же использовать прототип с параметрами по умолчанию?

  • @faustomendez6567
    @faustomendez6567 6 ปีที่แล้ว

    А почему функция называется именно foo?

  • @ИНФОРМАЦИЯДЛЯУСПЕШНЫХ
    @ИНФОРМАЦИЯДЛЯУСПЕШНЫХ 6 ปีที่แล้ว

    Спсб

  • @andreygurenkoff2721
    @andreygurenkoff2721 5 ปีที่แล้ว

    а если скажем я не хочу вводить параметр a, но хочу ввести параметр b ??? )) тогда как быть

    • @L1KDE
      @L1KDE 4 ปีที่แล้ว +3

      Указать в функции параметр b перед параметром a.

  • @СтаниславИванов-ъ7ь
    @СтаниславИванов-ъ7ь 5 ปีที่แล้ว

    Не вполне понял, зачем на практике передавать аргументы в функцию по умолчанию? В каких случаях это нужно и удобно? Т. е. в каких стандартных
    реализациях простейших алгоритмов это используется?
    Передавать аргументы в виде значения переменной - понятно. Также более-менее ясно, зачем и в каких случаях передавать аргументы в виде
    указателей (урок № 35). Например, алгоритмы сортировки массива.

  • @jessypinkman8010
    @jessypinkman8010 ปีที่แล้ว

    Параметры можно задать заранее (Это для тех кто не хочет смотреть)

  • @bestchoice6304
    @bestchoice6304 6 ปีที่แล้ว +4

    #include
    food Официант(list Заказ = Пицца 4 сыра){
    return (food(Заказ));
    }
    int main(){
    eat = Официант(" Мне как обычно :) ");
    }

    • @Rj-tc6cw
      @Rj-tc6cw 6 ปีที่แล้ว

      Это типа прикол?

    • @bestchoice6304
      @bestchoice6304 6 ปีที่แล้ว +3

      Ага, сложный прикольчик XD

    • @codingposture
      @codingposture 4 ปีที่แล้ว

      Хах

  • @uporka6924
    @uporka6924 6 ปีที่แล้ว

    А если я хочу при вызове пропустить первый параметр по умолчанию и указатб только второй?(((

    • @bat_bsv
      @bat_bsv 5 ปีที่แล้ว

      смысла в очередности нет. ты же потом их внутри как хочешь используешь.

  • @gvozdik4946
    @gvozdik4946 ปีที่แล้ว +1

    Ну что, есть отважные войны которые начали учить плюсы?

  • @legendarniy5714
    @legendarniy5714 8 หลายเดือนก่อน

    38 осталось 166

  • @saharvkusni6209
    @saharvkusni6209 7 ปีที่แล้ว +1

    почему именно мои вопросы игнорят ? :/
    и как правильно записать вторую строку ?
    ...
    for (int i = 0; i < 10; i++)
    for (int q = 0; q < i; q++)cout

  • @Viamsupervadetvadens
    @Viamsupervadetvadens 7 ปีที่แล้ว

    up

  • @yellowmoonishka1725
    @yellowmoonishka1725 2 ปีที่แล้ว

    Ths

  • @borisermolaev3158
    @borisermolaev3158 6 ปีที่แล้ว +1

    a++

  • @ukrmill
    @ukrmill 3 ปีที่แล้ว

    ++