- 244
- 427 082
Yuriorkis Scream
South Korea
Приєднався 15 сер 2017
Я начал заниматься программированием 4 года назад без какого-либо бэкграунда в этой сфере. Изучал такие языки как: C++, C, Common Lisp, Rust, Python , C#, Java. Основным инструментом является C++, на котором я пишу игровой движок и создаю на нём игры. На данном канале я хочу делиться с вами своим опытом и знаниями. Когда-то, в школьные годы, я считал что для того чтобы программировать нужно обладать особым складом ума. Но это не более чем расхожий стереотип не имеющий под собой никаких реальных оснований. Любой, повторюсь, абсолютно любой человек может научиться программировать и не только! Самое главное это ваше желание и действия на пути достижения цели.
C++ Виртуальные методы и таблицы виртуальных методов.
C++ Виртуальные методы и таблицы виртуальных методов.
Переглядів: 371
Відео
Размер директории через команду терминала на Линуксе
Переглядів 2632 місяці тому
Размер директории через команду терминала на Линуксе
C++ понятный курс для начинающих. #35 ООП #6. Типы наследования через спецификаторы уровня доступа.
Переглядів 1,5 тис.Рік тому
C понятный курс для начинающих. #35 ООП #6. Типы наследования через спецификаторы уровня доступа.
C++ понятный курс для начинающих. #34 ООП #5. Дружественные функции и классы.
Переглядів 454Рік тому
C понятный курс для начинающих. #34 ООП #5. Дружественные функции и классы.
C++ понятный курс для начинающих. #33 ООП #4. Наследование. Спецификаторы public, private, protected
Переглядів 432Рік тому
C понятный курс для начинающих. #33 ООП #4. Наследование. Спецификаторы public, private, protected
C++ понятный курс для начинающих. #32 ООП #3. Конструкторы и деструкторы: список инициализации.
Переглядів 781Рік тому
C понятный курс для начинающих. #32 ООП #3. Конструкторы и деструкторы: список инициализации.
C++ понятный курс для начинающих. #31 Классы и Структуры. ООП #2. Конструкторы и деструкторы.
Переглядів 475Рік тому
C понятный курс для начинающих. #31 Классы и Структуры. ООП #2. Конструкторы и деструкторы.
C++ понятный курс для начинающих. #30 Классы и Структуры. ООП #1. Поля и методы классов и структур.
Переглядів 683Рік тому
C понятный курс для начинающих. #30 Классы и Структуры. ООП #1. Поля и методы классов и структур.
C++ понятный курс для начинающих. #29 Перегрузка функций. Function overloading.
Переглядів 291Рік тому
C понятный курс для начинающих. #29 Перегрузка функций. Function overloading.
C++ понятный курс для начинающих. #28 Аргументы командной строки. Command line arguments.
Переглядів 408Рік тому
C понятный курс для начинающих. #28 Аргументы командной строки. Command line arguments.
C++ понятный курс для начинающих. #27 Классы перечислений. Enumeration classes.
Переглядів 394Рік тому
C понятный курс для начинающих. #27 Классы перечислений. Enumeration classes.
Linux для новичков! Простая установка дистрибутива Linux Mint.
Переглядів 33 тис.Рік тому
Linux для новичков! Простая установка дистрибутива Linux Mint.
Простой способ создания загрузочной USB флешки под Linux при помощи утилиты "dd".
Переглядів 3,5 тис.Рік тому
Простой способ создания загрузочной USB флешки под Linux при помощи утилиты "dd".
C++ понятный курс для начинающих. #8.3 Оператор SWITCH. Switch operator.
Переглядів 467Рік тому
C понятный курс для начинающих. #8.3 Оператор SWITCH. Switch operator.
C++ понятный курс для начинающих. #8.2 Инструкции break и continue. Вложенные циклы.
Переглядів 559Рік тому
C понятный курс для начинающих. #8.2 Инструкции break и continue. Вложенные циклы.
Простой способ создания загрузочной USB флешки под Windows.
Переглядів 1,9 тис.Рік тому
Простой способ создания загрузочной USB флешки под Windows.
C++ понятный курс для начинающих. #26 Перечисления. Enumerations.
Переглядів 387Рік тому
C понятный курс для начинающих. #26 Перечисления. Enumerations.
C++ понятный курс для начинающих. #25 Побитовые операторы 2. Битовые маски. Bitwise operators 2.
Переглядів 814Рік тому
C понятный курс для начинающих. #25 Побитовые операторы 2. Битовые маски. Bitwise operators 2.
C++ понятный курс для начинающих. #24 Тернарный оператор. Ternary operator.
Переглядів 283Рік тому
C понятный курс для начинающих. #24 Тернарный оператор. Ternary operator.
C++ понятный курс для начинающих. #23 Побитовые операторы. Bitwise operators.
Переглядів 476Рік тому
C понятный курс для начинающих. #23 Побитовые операторы. Bitwise operators.
C++ понятный курс для начинающих. #22 Глобальные переменные. Global variables.
Переглядів 288Рік тому
C понятный курс для начинающих. #22 Глобальные переменные. Global variables.
C++ понятный курс для начинающих. #21 Заголовочные и файлы исходного кода. Sources and header files.
Переглядів 620Рік тому
C понятный курс для начинающих. #21 Заголовочные и файлы исходного кода. Sources and header files.
C++ понятный курс для начинающих. #20 Константные переменные. Constant variables.
Переглядів 355Рік тому
C понятный курс для начинающих. #20 Константные переменные. Constant variables.
C++ понятный курс для начинающих. #19 Динамические массивы. Dynamic arrays.
Переглядів 806Рік тому
C понятный курс для начинающих. #19 Динамические массивы. Dynamic arrays.
Бэкап файлов и обучение. Как я это делаю.
Переглядів 819Рік тому
Бэкап файлов и обучение. Как я это делаю.
C++ понятный курс для начинающих. #18 Многомерные статические массивы Multidimensional static arrays
Переглядів 373Рік тому
C понятный курс для начинающих. #18 Многомерные статические массивы Multidimensional static arrays
Стековые команды терминала на Linux. Pushd и popd.
Переглядів 859Рік тому
Стековые команды терминала на Linux. Pushd и popd.
красавчик
Спасибо)
Два слова: Синглтон Майерса.
Спасибо!!!!!!!
Пожалуйста)
Так, начинаю изучение крестов! Серьезность моих намерений не вызывает сомнений! Спасибо Вам за курс, Сенсей!
Пожалуйста! Удачи в обучении!)
а попробуй вставлять выделенный текст с помощью колёсика
красавчик
Спасибо)
можно же сразу при установке указать amd64
а просто сразу func(1,2) не могу вызвать чтоли? зачем указатель?
Благодарю!!! Всем любви!!!
Пожалуйста! Вам тоже любви!)
Спасибо! Все, в общем, понятненько)
Пожалуйста! Супер! Если что, у меня на канале есть полноценный курс по С++. Там есть отдельное видео про енамы)
Раз плюсы то лучше используйте std::function
Я в линуксе новичок и хотел бы узнать, можно ли написать bash скрипт со всей этой установкой и запустить сам этот скрипт. С флешки его скопировать в систему после операции разметки диска и запустить?
хз, наверное можно
floid?
Розовый
Флоет
Пожалуйста сделай обзор на университет полным видио, думаю наберет много лайков и просмотров
Так а зачем эти танцы с указателями я никак понять не могу?
Вроде как указатель позволяет использовать для функции, переменной или массива всю память, которая выделена операционной системой. Но иногда, и не редко это приводит к тому, что твоё приложение забивает всё свободное пространство оперативной памяти и операционная система с чистой совестью его ВЫКИДЫВАЕТ НАХУЙ вместе со всеми данными которая обработала твоя функция.
Чтобы не копировать переменную лишний раз, мы можем на нее ссылаться и изменять
@@preegnees6664а зачем это нужно? У нас нехватка одного байта памяти или что?
лямбда функции, экземпляры классов. У указателей много применений
@@intbyte поподробнее можно?, а то в книжках вообще ничего не рассказывают
Ивенты в сишечке
auto f_ptr = f; Не пользуйтесь, это не по кодстайлу)
только в c++ работает (и если &f сделать то тоже только в c++) Upd: ой я дибил это же видео про c++
Используйте typedef. 😄👍👍
Вставка не по Ctrl+v?! Жуть какая. А можно поменять?
Можно любую комбинацию клавиш поменять
@yuriorkis_scream круто!
Круто, а зачем такие видео? Ты же здесь не рассказал о подводных камнях и разнице с циклом while
Это для людей которые хотят получить быстрое представление о концепции. Для тех кто хочет углубиться у меня есть большие видео в рамках курса по C++.
Какие подводные камни у цикла и что там сравнивать с while?
@@cdeblog Цикл for работает следующим образом: 1) инициализация переменной в самом начале выполнения 2) проверка верности условия 3) выполнение тело цикла 4) обновление переменной (инкремент/декремент) Если итераций было 10, а начальная переменная 1 и ты ее каждую итерацию увеличиваешь на 1, то в конце она будет 11. Из-за этого может цикл стать бесконечным, если речь заходит о беззнаковых переменных: for (unsigned int i = 10; i >= 0; --i) { //... } unsigned int здесь будет просто переполняться. Разница между циклом и while небольшая. До C++11 это просто разные способы записи одного и того же. С C++11 переменная удаляется после завершения цикла for. Раньше ты мог ее спокойно использовать за пределами цикла
@@yuriorkis_scream Мне просто кажется это чем-то нереально простым
Это не видео полноценное. Это ШОРТС. Знаешь, чем они отличаются?
хорошее видео
Спасибо!
Благодарю!!!
Пожалуйста! И Вам большое спасибо!)
Приятного аппетита!!! На огромное здоровье!!! Всем всего самого прекрасного!!!
Большое спасибо! Вам тоже всего самого наилучшего и огромного здоровья!
ну да, проще некуда.... осталось понять сто тут вообще происходит)))
Можете посмотреть мой большой курс. Там есть про циклы более подробно)
по логике не просто понятно а пиздец как элементарно! только два вопроса: о чем вообще речь идет и как это видео оказалось в моей подборке?
почему std::endl а не ' ' ?
std::endl очищает буфер ввода, что избавляет от вероятности возникновения мусорного вывода.
много болтовня
Вы же программист ?если да то что именно разрабатываете?
Я разрабатываю игровой движок и игру на нём.
@yuriorkis_scream круто, тоже хотел бы попробовать себя в данной сфере ,что мне читать ? База С/С++ есть
@@korolev1234многопоточку
@@korolev1234 Все зависит от того в какой продукт вы хотите делать. Если это, например, десктоп-приложения, - то это одна сфера знаний, а если игры, - то другая.
@@BobiBobObana Согласен. Это всем надо.
1) const не инициализируется в compile-time. В compile-time инициализируются constexpr. Поэтому const не работает быстрее обычной переменной. Но объявлять все что ты не хочешь менять как const совет хороший, но не потому что быстрее, а потому что ты объявляешь неизменяемые данные неизменяемыми, т.е. в коде даешь понять прогерам что ты хочешь, и также защищаешь себя от случайного изменения 2) Ну поставь ты отступы в if после каждого условия, зачем переносить, наоборот нечитаемые 3) Книжка есть: чистый код, автора не помню. Там говорится, что если для понимания кода нужны комментарии - значит код плохой. В реальности конечно же код идеальным не написать, чтобы читал и все сразу понималось, но это не потому что люди так не могут, а потому что компании не дают достаточно времени. Они требуют от тебя работающее приложение, а не красивый код, который достигается за счет рефакторинга
const тоже во время компиляции инициализируется. С отступами все в порядке. Никому не рекомендую читать эту книгу. В реальном проекте необходимо писать комментарии даже если ты пишешь так называемый самодокументиуемый код.
Чистый код не прошел проверку временем и апеллировать к нему уже немного странно. Рекомендую почитать что-то более актуальное на эту тему, например A Philosophy of Software Design by John Ousterhout.
@@yuriorkis_scream Неправильный ответ. const не всегда инициализируется при компиляции("const тоже во время компиляции инициализируется" является некорректным). И есть ощущения, что пример кода в видео как раз случай, когда он НЕ инициализируется при компиляции. А про "скорость", почитай на хабре статью "Почему const не ускоряет код на С/C++?". там человек сравнивает на уровне asm код. > Никому не рекомендую читать эту книгу Почему? Она хоть и устарела, но базовые принципы работают до сих пор. В частности про нейминг
@@compile_and_run Тоже хорошая книга. Но в нем буквально есть пересказ книги "Чистый код", только в ужатом виде. Чистый код же предоставляет куда больше информации. Да, она устарела и не все вещи уже работают, но основные принципы по типу нейминга, вложенности и прочего оттуда работают до сих пор
БлагоДарю!!!
Пожалуйста!)
Наконец-то рекомендации ютуба работают хорошо =) Давно на твитч не заходил, но рад видеть что ты и на ютубе есть)
Супер)
Добрый день, хотелось бы не отходы от этой темы послушать урок про концепты
Добрый день! Я не использую концепты в своём коде. Смотрел лишь раз когда только 20-й стандарт вышел. Если конечно еще раз их посмотреть и подготовиться. Подумаю. Может быть сделаю)
Прикольно , но на Питоне меньше заморочек
Ну значит идём все писать на питоне)
Все на класс ругаются, а на std::endl никто не ругается))
А что не так с std::endl?
@yuriorkis_scream насколько я это понимаю, то std::endl работает дольше, т. к, там вызывается flush, а просто символ переноса, но я могу ошибатбся))
@@babenoff std::endl нужен для того, чтобы показать содержимое. Без него, а только на ты увидишь содержимое только по завершению программы
@@vincentvince2136 спасибо!)
Тут нужно было for юзать, а while с do while нужно юзать тогда, когда количество итераций цикла неважно
Почему ты счтаешь что здесь нужно использовать именно for?
@@yuriorkis_scream for( int i = 0; i < 10; i++) cout << i << '' ; вы, конечно, написали все правильно, но ведь тут важно количество итераций цикла, а фор как раз под это и был создан
✊ без лишней воды и по-делу. а что за редактор?
Спасибо! Редактор - Emacs
Благодарю за полезную и нужную информацию!!!
Пожалуйста! И Вам большое спасибо за приятный комментарий)
Так в переменную lambda записали не лямбда-функцию, а ее результат. И, сказав фразу «проинициализируем ее», имея в виду лямбду, горе учитель ошибается, ведь он именно вызвал ее. Так себе полезность.
Никто не отрицал того что в переменной оказалось возвращаемое занение лямбы, а не сама лямбда. А инициализация относилась к параметрам лямбды, о чём было явно сказано. Ты не выкупил урок, горе ученик.
@@yuriorkis_scream твои же слова: «для начала воспользуемся ключевым словом auto, чтобы объявить ЛЯМБДУ». То есть ты на серьезном и уверенном заявил, что ты сейчас объявишь в коде лямбду с использованием auto, но по факту ты объявил переменную с результатом вызова лямбды. Кроме того, параметры (аргументы) функции не инициализируют при вызове, их передают. Слишком много косяков по терминологии для короткого видео. Можно просто признать ошибки, а не отмазываться, мол я что-то не выкупил.
@@brinza888 Слишком много уверенности у человека который даже с трудом может формулировать мысли. О каком С++ сдесь может идти речь)
А что там с for и do-while?
Сделаю на днях)
Какие преимущества перед vim предоставляет emacs?
Комбинации клавиш вместо режимов (субъективно), пакетный мэнеджер из коробки, магит, орг-мод
@yuriorkis_scream я новичок в линуксе и по большей части использую vim. Стоит ли переходить на emacs, если я планирую использовать редактор для кодинга? Можно ли настроить emacs также как и neovim(различные плагины для подсветки кода, тоесть превращение в ide) и будет ли это проще?
ты используешь nvim?
Нет, это - Emacs
спасибо, добрый человек
Пожалуйста! Рад помочь)
Благодарю!!!
Пожалуйста!
Согласна со всем сказанным!!!
Благодарю!)
Вы все правы по-своему! Всем любви, добра,успехов, взаимопонимания!!! Автору канала развития во всех начинаниях!!!
Спасибо большое! Вам тоже счастья, добра и любви!
Всем успехов!!!
Спасибо! Вам тоже!)
Благодарю!!!
Пожалуйста!)
Почему не структура?
Потому что классы - это ООП. А ООП - это венец программирования!
Благодарю тебя!!!
попался, любитель ООП!
Я вот одного понять не могу зачем и взятие адреса & и создание ссылки &. Я только сегодня читая уже в n-ный раз про ссылки и указатели понял, что эти два & между собой никак не связаны... Очень сильно запутали этим синтаксис...
Да, тут есть лёгкая путаница по-началу. Все зависит от контекста употребления символа & (амперсанд). Если мы используем его в выражении справа - то мы берём адрес у какой-либо переменной. Но если мы используем его в выражении слева - мы объявляем ссылку. Например: 1. int* pointer = &value; ///< Берём адресс у переменной value и инициализиум этим адресом указатель pointer. 2. int& reference = value; ///< Объявляем ссылку на перемунную value.
@yuriorkis_scream вот упустив этот момент - вообще не мог понять ссылки и указатели...
Ахмед WENGOLBl Асхаб Тамаев Аско Абдурозик и Али