Name mangling | Арифметические преобразования в C++

  Рет қаралды 6,484

Daria Emacs

Daria Emacs

Күн бұрын

Пікірлер: 137
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Дорогие зрители! Прошу великодушно извинить мою ошибку с шахматными фигурами и нарушение субординации. Это моя грубейшая оплошность: пропустить ладью в иерархии фигур. Нашло какое-то затмение, конечно же, вы все правы. Простите меня, пожалуйста!
@AkashiyaMokaV
@AkashiyaMokaV 4 жыл бұрын
с кем ни бывает... главное заметить косяк :) за объяснения на пальцах с аналогиями и юмористическими вставками можно простить :D творческих и проф успехов)
@НиколайЧерешнев-м9ш
@НиколайЧерешнев-м9ш 4 жыл бұрын
такое не простим
@damnboy1472
@damnboy1472 4 жыл бұрын
Ах ты моя евреечка рыженькая, прощаем, но давай без ошибок в след раз.
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Дядя, ты дурак? (с)
@fayz_real_estate
@fayz_real_estate 4 жыл бұрын
Ничего страшного в этом мире все делают ошибки. Если человек извиняется от души то сам бог простит☝️
@andreyi6868
@andreyi6868 4 жыл бұрын
Единственная девушка в мире, кто и программу на С напишет и по подиуму великолепно пройдет)
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Андрей, не смущайте меня. Нас много таких, просто мы тихонько сидим и пишем программы).
@palkanvjq
@palkanvjq 4 жыл бұрын
С unsigned int + int = unsigned int честно офигел, хорошо, что сейчас об этом узнал, а не при поиске бага, ведь и не догадался бы. Спасибо!
@exHalfer
@exHalfer 3 жыл бұрын
Мне повезло, я встретил это на первом же тестовом коде :D
@andreybezdolniy9182
@andreybezdolniy9182 4 жыл бұрын
Кстати по поводу видео, очень ценная информация, и хорошо что вы рассказали о примере где это может вызвать проблему, но не сказали о возможном решении. Спасибо.
@kiryusick
@kiryusick 4 жыл бұрын
Получилось очень весело и информативно! Хорошая работа 😉
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Спасибо, Кирилл 😊!
@michaeldeviat6894
@michaeldeviat6894 4 жыл бұрын
Благодарю Дашу за лайки. Смотрю с интересом. Дело в том, что сам я использую только часть синтаксиса C++ в своей работе, поэтому нередко забываю те фичи языка которые не использую. Такие просмотры позволяют не только вспомнить забытое, но часто дают возможность узнать что то новое или посмотреть на уже известные свойства языка под другим углом при другой постановке задач программирования.
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Спасибо, да, у меня такая же ситуация)), поэтому и решила такие видео делать)).
@kanal_zhizni
@kanal_zhizni Жыл бұрын
Почему перестали, вести канал? Приятная девушка, приятный голос. Хорошо повествует. Спасибо продолжайте. В телеграмме тоже давно не было публикаций. Продолжайте не бросайте меня в этом плохо мне известном мире c++. Спасибо.
@DariaEmacs
@DariaEmacs Жыл бұрын
Хорошо, спасибо за положительную оценку канала)).
@АлександрМельник-ч3ь
@АлександрМельник-ч3ь 3 жыл бұрын
Впервые за 40 лет вижу человека, который так много и мило смеется и улыбается. Вокруг только угрюмые лица, да и я не помню, сколько лет тому назад я в последний раз смеялся. Очень приятно видеть, что есть и такие как вы. Видимо профессия тут не играет роли, поскольку я тоже программист)
@DariaEmacs
@DariaEmacs 3 жыл бұрын
Спасибо)). Какой милый комментарий)). Обычно, это не всем нравится..
@АлександрМельник-ч3ь
@АлександрМельник-ч3ь 3 жыл бұрын
@@DariaEmacs У вас это получается искренне. Продолжайте в том же духе.
@evgenyproydakov3665
@evgenyproydakov3665 4 жыл бұрын
Полезно добавить, что современные реализации C++, например gcc/clang имеют специальные предупреждения компилятора, если их включить все неявные преобразования будут помечены предупреждениями. -Wconversion -Wsign-conversion
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Да, точно! Спасибо большое)!
@DepechLyot
@DepechLyot 2 жыл бұрын
Спасибо! А то наступал уже на эти грабли.
@DmitryDolganov
@DmitryDolganov 4 жыл бұрын
Спасибо, товарищь!!!
@ЗеновичНикита
@ЗеновичНикита 4 жыл бұрын
Как-то было такое, что я ожидал приведения типа в примере типа: double = int + int; из-за переполнения подумал, что приведения нет, в принципе, и чей оператор, тот и папа (+ после инта - значит будет инт). Спасибо за видео!
@alexhitch9034
@alexhitch9034 4 жыл бұрын
Всем привет! Дарья и участники канала, планирую освоить язык С++ и хотел бы у сторожил поинтересоваться, как выстроить процесс освоения? Сам собираюсь начать с книги Прата и параллельно с видео курсов(Ютуб/Step). Среду буду использовать QT. В будущем хочу программировать МК, драйверы и железо)
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Alex, может тогда с Си начать? Железо и драйверы обычно на Си пишут..
@alexhitch9034
@alexhitch9034 4 жыл бұрын
@@DariaEmacs я сейчас за С сижу. По Прату изучаю и МК-ки узаю. Но для будущего на С++ поглядывая.
@DariaEmacs
@DariaEmacs 4 жыл бұрын
А! Здорово! ))
@0alsh
@0alsh 4 жыл бұрын
Здравствуйте, Daria! Прошу прощения, что вопрос не по теме, недавно наткнулся на ваш канал. Скажите, а вы Emacs используете только как редактор кода или нечто большее? Например, как клиент электронной почты, или вместо браузера? Может быть и как оконный менеджер (EXWM)? Спасибо! P.S.: Очень позитивные у вас видео!
@nikolaylutkov614
@nikolaylutkov614 3 жыл бұрын
Не помню где-то читал статью что мол Страуструп не доволен что блокчейн был разработан на C++ ) хотя признаёт что блокчейн " гениальное изобретение " не знаю правдивая ета статья или фейк ) от сюда вопрос к вам ! Как вы считаете по блокчейну можно определить или судить на сколько мощный C++ ??) Или может наоборот ? ) Скажите своё мнение именно по кодингу
@ГосподинНикто-б7е
@ГосподинНикто-б7е 4 жыл бұрын
Почему нельзя просто сказать, что в приоритете всегда более точный тип данных? Зачем эти таблицы? Или я не так понял?
@xxdeadmonkxx
@xxdeadmonkxx 4 жыл бұрын
потому что есть исключение, например сложение типов рангом ниже чем int
@ДмитрийСтрекалов-т7в
@ДмитрийСтрекалов-т7в 3 жыл бұрын
проще сказать что существует таблица приведения типов в соответствии с которой определяются приоритеты
@__misterx__
@__misterx__ 5 ай бұрын
​​@@ДмитрийСтрекалов-т7всмысл видоса как раз в том чтобы понять и запомнить систему, поскольку это сильно проще чем заучивать таблицу.
@ЮрийЛеонов-ъ6и
@ЮрийЛеонов-ъ6и 3 жыл бұрын
Здравствуйте Дарья! А какие типы Вас больше интересуют?
@DariaEmacs
@DariaEmacs 3 жыл бұрын
Больше всего, конечно, int, но double тоже прекрасен.
@time_to_play_007
@time_to_play_007 4 жыл бұрын
Нифига се я на канал наткнулся и подписался, давно искал похожий.
@Nikolay9704
@Nikolay9704 4 жыл бұрын
Такие девушки бывают?))
@emptymail9336
@emptymail9336 2 жыл бұрын
Только о вас вчера думал, тут же заказ на плюсах прилетел. Магия ))
@emptymail9336
@emptymail9336 2 жыл бұрын
вот и плюсы пригодились )) последний раз их видел в глаза наверное еще в колледже. так-то щас 99% работы это JavaScript, PHP и какие нибудь фреймворки модные
@DariaEmacs
@DariaEmacs 2 жыл бұрын
@@emptymail9336 Да), но сейчас началась тенденция модные фрейморки внутри переписывать на с++). Потому что каждый хочет быть быстрее конкурентов). Сейчас как раз этим занимаюсь.
@emptymail9336
@emptymail9336 2 жыл бұрын
kzbin.info/www/bejne/bGKTdZqagcymqMk&start_radio=1
@emptymail9336
@emptymail9336 2 жыл бұрын
@@DariaEmacs напиши мне, я бы хотел общаться. @himalayan_snowman напиши пожалуйста ) я так скучаю
@emptymail9336
@emptymail9336 2 жыл бұрын
если хотите, я перепишу какие то вещи для вас __ вот раньше было фидо, был одскул. но щас не все из тех р ебят даже живы
@NoNameDevQwerty
@NoNameDevQwerty 4 жыл бұрын
Ути какая умничка ))
@DEKJ1000
@DEKJ1000 4 жыл бұрын
Хе-хе... ты мне нравишься. И хотя я ни разу не программист, а бизнесмен от строительства, однако программирование моё хобби.. для упорядочивания мозгов, а ты хорошо как бы раскрываешь личность человека этой специальности. Не набор кода ни алгоритм.. а человек. Это тоже интересно. Короче include . p. s. и да c++ никакой ни Саруман, он лучший и лучше всех дисциплинирует мозг, а без ооп он с и он реально единое кольцо в мире микрокотроллерв. :)
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Спасибо)), да, С++ - самый лучший)).
@АлександрК-к4и
@АлександрК-к4и 3 жыл бұрын
Дарья, очень интересно ваши видео смотреть, попросил бы вас почаще делать разбор кода.
@DariaEmacs
@DariaEmacs 3 жыл бұрын
Спасибо большое 😊! Постараюсь.
@nikolaylutkov614
@nikolaylutkov614 3 жыл бұрын
Здравствуйте Дарья спасибо за вашы видео ) Хотел попросить сделайте пожалуйста обзор на код биткоина ( именно на код ) С вашей точки зрения ,как программиста со стажем ) он же написан на C++
@DariaEmacs
@DariaEmacs 3 жыл бұрын
Спасибо, Николай! Биткон мне не особо интересен, я сейчас занимаюсь машинным зрением.
@mrkotyuk
@mrkotyuk 4 жыл бұрын
bits 32 mov 10, eax mov 6.5h, ebx add eax, ebx -FPU вошёл в чат
@BobiBobObana
@BobiBobObana 4 жыл бұрын
Мощность фигур в шахматах: ферзь - 9 ладья - 5 слон - 3.5 конь - 3 пешка -1 Так что у вас ошибка, после ферзя должна быть ладья. ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BB%D0%B0_%D1%88%D0%B0%D1%85%D0%BC%D0%B0%D1%82%D0%BD%D1%8B%D1%85_%D1%84%D0%B8%D0%B3%D1%83%D1%80 Причем что интересно, ладья не теряет в силе даже если стоит в углу доски.
@DariaEmacs
@DariaEmacs 4 жыл бұрын
ну, я так сначала сказала, а потом нашла, что слон выше ладьи)), пришлось перезаписывать). Хорошо, хоть не в коде ошибка).
@ГончаренкоКирилл-я4о
@ГончаренкоКирилл-я4о 4 жыл бұрын
Я первый раз вижу, что б слон был мощнее коня. Всегда их мощность была 3. Просто считается, что два слона в открытых позициях лучше. Но, хоть и многие дают им мнимый приоритет, но, так унижать коней не коректно😂
@BobiBobObana
@BobiBobObana 4 жыл бұрын
@@ГончаренкоКирилл-я4о поставить коня в угол доски и поставить слона в угол доски. От кого больше пользы будет?
@niklkelbon3662
@niklkelbon3662 3 жыл бұрын
Daria, посмотрел старое видео-разбор кода, вы занимаетесь ещё таким? Хочу просто отправить свой проектик))
@DariaEmacs
@DariaEmacs 3 жыл бұрын
Занимаюсь, но на работе сейчас завал)), хочу вот выпустить видео тоже с разбором кода, но всё ни как время не найду)). Если не срочно, то давайте).
@niklkelbon3662
@niklkelbon3662 3 жыл бұрын
@@DariaEmacs я сейчас его переписываю, т.к. когда делал знал гораздо меньше, допишу и скину(правда куда?)
@ДмитрийСтрекалов-т7в
@ДмитрийСтрекалов-т7в 3 жыл бұрын
implicit typecast for woman - интриги свадьбы расследования )
@FailValiev
@FailValiev 4 жыл бұрын
Ну есть же таблица на Википедии об этом
@solider30rus
@solider30rus 4 жыл бұрын
Какой язык программирования, наиболее актуальный сейчас?
@ЗеновичНикита
@ЗеновичНикита 4 жыл бұрын
Выбирай по желаниям, чем заниматься хочешь, в какие фирмы с этим занятием попасть, из этого смотри язык, который они используют.
@andreybezdolniy9182
@andreybezdolniy9182 4 жыл бұрын
Глупый вопрос, но все же, что это за консоль где вы водите команды?
@DariaEmacs
@DariaEmacs 4 жыл бұрын
bash
@SASHA21364
@SASHA21364 4 жыл бұрын
Можете объяснить одну неявную вещь ? Google ответ не дал. Почему валидна такая инструкция: const char *s = "hello" ? И не сработает так же с int *k = 5. Во втором случае я понимаю что сперва нужно выделить память, а потом записать значение по адресу, но в первом случае как будто происходит неявное выделение памяти в куче, и возвращается указатель на начало строки. Как это работает ?
@adziri
@adziri 4 жыл бұрын
В языке C++ строковый литерал "text" - имеет тип char const[], поэтому его можно присвоить константному указателю. С int *k = 5 не сработает потому что литерал 5 это не массив или указатель. В первом случае, т.е. в случае со строковым литералом никаких выделений памяти не будет. Строковый литерал компилятор скорее всего просто запишет Read-Only data сегмент памяти. Почему скорее всего, потому что стандарт С++ конкретно не говорит, где литерал должен хранится, т.е. зависит от реализации, но в любом случае неявного выделения в куче там точно никогда не будет.
@DariaEmacs
@DariaEmacs 4 жыл бұрын
const char *s = "hello" - это константный литерал. Они хранятся в особой области памяти (зависит от реализации компилятора), изменять их нельзя. Если Вы захотите изменить их, сняв перед этим константность с помощью const_cast, то это приведет к неопределенному поведению.
@dmitrysysoev6750
@dmitrysysoev6750 4 жыл бұрын
Привет от Embedded. int *k = (int*)5, ну или int *k = reinterpret_cast(5) объявляет указатель типа int на адрес = 0x5 в памяти. Если конечно вы изначально хотели указатель именно адресом инициализировать
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Дмитрий, тоже хотела написать, но не стала, а то потом скажут, что научила плохому))))).
@dmitrysysoev6750
@dmitrysysoev6750 4 жыл бұрын
В контроллерах, часто так регистры расписывают, там это хорошо :). Для PC так конечно делать не надо.
@fayz_real_estate
@fayz_real_estate 4 жыл бұрын
Здравствуйте Я тоже изучаю язык программирования C++ но мне не очень хорошо объясняют
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Здравствуйте, очень жаль.
@danillobanav20112001
@danillobanav20112001 4 жыл бұрын
странно что не работает та же идея (int + double = double) с string + char, можно же было бы сделать так, чтобы string + char было бы string и возвращал бы все значения char, если не указал порядковый номер char
@rustonelove
@rustonelove 4 жыл бұрын
В си(и в С++, потому как базовый язык там си) нету никакого string(судя по всему имеется ввиду массив), данные кладутся в сторедж. У параметров/возврата стореджа нет. Сторедж есть внутри глобального контекста, контекста локального, контекста агрегата. В ситуации с агрегатом сторедж привязан к объекту и это сторедж может "ехать" за объектом. Тоже самое с базовыми типами. С сущностями, сторедж которых к ним не привязан всё иначе. Мы не можем ничего с ними делать. Нельзя её куда-то возвратить, скопировать и прочее. Поэтому и существует "decay"-преобразование. Если ты говоришь про std::string и прочие ручные реализации строк, то там нет никакого встроенного + и каких-либо преобразований. Всё это можно написать как угодно.
@eugenemorozov
@eugenemorozov 4 жыл бұрын
Что Вы думаете о Rust?
@revingar
@revingar Жыл бұрын
@@Nandarion, почему?
@Глупыйдурачок
@Глупыйдурачок 4 жыл бұрын
Здравствуйте, простите за вопрос не по теме. Готовлюсь к ЕГЭ.. Может кто может посоветовать как такую задачку решить за разумное время с помощью написания программы?Если перебрать весь диапазон и для каждого числа до корня смотреть делители, то все равно очееень долго imgur.com/a/DFln0ME Буду признателен за любой совет.
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Степан, посмотрите алгоритм Решёто Эратосфена. Если дополнительно хранить делители, то можно решить задачу за линейное время, m.habr.com/ru/post/452388/
@Глупыйдурачок
@Глупыйдурачок 4 жыл бұрын
@@DariaEmacs а в чем суть оптимизации?Хранить делители числа и если мы уже дофакторизовали до опр числа, то уже дальше не надо?
@Дмитрий-ц7д5ц
@Дмитрий-ц7д5ц 3 жыл бұрын
Дарья, вы живы? С вами все хорошо?
@DariaEmacs
@DariaEmacs 3 жыл бұрын
Спасибо, всё хорошо))). Много работы, надо найти время смонтировать видео)).
@Дмитрий-ц7д5ц
@Дмитрий-ц7д5ц 4 жыл бұрын
ладья в иерархии выше чем слон и конь!
@cyrilanisimov
@cyrilanisimov 4 жыл бұрын
Очень странно если я сложу int a = -32960 и uint b = 256, то a+b= uint? P.S. Только вчера пересматривал 12 стульев Гайдая)
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Да, так и будет). #include int main() { std::cout
@morfey23580
@morfey23580 4 жыл бұрын
@@DariaEmacs А зачем складывать в "воздухе"? А что получиться так: int c = a+b;
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Потому что в функциях, обычно, складывают в воздухе: abc(a+b), и что вызовется, abc(int), abc(double) и т. д.? Какая версия функции?
@morfey23580
@morfey23580 4 жыл бұрын
@@DariaEmacs Ну да тут вы правы. Поэтому строгая проверка и явное преобразование типов! =))).
@rustonelove
@rustonelove 4 жыл бұрын
@@morfey23580 Явное преобразование типов в колхозе и у колхозников. Наличие его говорит лишь о неосилил. И со стороны тех недоязычков, которые не реализуют эту фичу и со стороны их адептов.
@beksultanergeshov5635
@beksultanergeshov5635 4 жыл бұрын
Здравствуйте , я совсем новичок в it , хотел спросить у вас , стоит ли изучать c++ уже в 2021 году и не заменят ли его ?
@directorys
@directorys 4 жыл бұрын
Я боюсь приведений 😣
@DariaEmacs
@DariaEmacs 4 жыл бұрын
Это плохо спроектированный слонёнок)
@frettmann5317
@frettmann5317 Жыл бұрын
Я бы хотел кажды день видеть такую красивую улыбку ☺️ как нам ( ученикам своим ) хочет учить C++ ❤ спасибо огромное ❤ люблю вас 🇦🇿из Азербайджана .
@alexla_grange8957
@alexla_grange8957 4 ай бұрын
Тех, кто свою хрень на Ютубе рассказывает ,вообще никуда не берут?
STL с нуля | C++
22:43
Daria Emacs
Рет қаралды 16 М.
Farmer narrowly escapes tiger attack
00:20
CTV News
Рет қаралды 13 МЛН
Увеличили моцареллу для @Lorenzo.bagnati
00:48
Кушать Хочу
Рет қаралды 9 МЛН
Покодим? Обсуждаю Ваш код
15:04
Daria Emacs
Рет қаралды 18 М.
Собеседование | Junior C++
57:15
Daria Emacs
Рет қаралды 249 М.
С++. Указатели. Начало
19:17
Daria Emacs
Рет қаралды 8 М.
«Осень». Самая большая загадка Windows XP
14:36
Девять десятых
Рет қаралды 1,4 МЛН