Vyacheslav
Ну... после malloc?
не стэковая структура, к которой я забыл memset применить долго думал откуда у меня такие странные значения ))
Vyacheslav
В плюсах?? Да не боже мой
дак ты попробуй ее не напечатать, а в выражение засунуть справа от "="
Борисов
Ну классно же)) а главное дебажить )))
Это было печально) Я только вуз закончил тогда, знал совсем немного, опыта практического мало и в той конторе, где работал, решили внезапно написать такой драйвер для одного проекта Эта контора никогда никакими драйверами не занималась и поэтому кому как не вчерашнему студенту отдать такую работу 😉
Warox
Просто компилятор не всегда выдаёт предупреждение
кстати на рандомном стайте не выводиться
Алексей
Борисов
Warox
Azamat
кстати на рандомном стайте не выводиться
О, мой любимый сайт для кодинга в инете
Warox
Надо вместо i написать a ?
да мусор минус фигня
Алексей
бля, вот я тупой
Не тупой а не внимательный. Такое бывает особенно в конце дня😉
Борисов
да мусор минус фигня
А попробуй объявить static int i;
Алексей
Это сишка?
Борисов
&a - это же указатель на переменную
Борисов
Надо просто a
Warox
&a - это же указатель на переменную
все сам уже заметил варнинг кароче как все могли понять я си не видел 1000 лет ))
Михаил
ну а чем это лучше чем когда тебе компилятор говорит - НЕЛЬЗЯ, присвой что то или не делай так
это бесполезная трата ресурсов. Обычно переменную используют, когда знают, что она заполнена важными для программы данными
Михаил
Не будешь же любоваться на 0 до того, как придет очередь заполнить эту переменную))
Михаил
ресурсов чего ?)) а если баг?
ресурсов ЦП и память оперативная + диск
Warox
ресурсов ЦП и память оперативная + диск
это при билде проверяется а не в рантайме нет никаких трат
Михаил
хотя не, оперативка не меняется
Борисов
Статик типа самоинициализируется?
https://stackoverflow.com/questions/52205008/automatic-storage-duration-struct-initialization "Storage duration explained: - A variable declared inside a function has automatic storage duration (including parameters to functions). - A variable declared as static, or a variable declared outside functions at file scope ("global") has static storage duration." If an object that has automatic storage duration is not initialized explicitly, its value is indeterminate. If an object that has static or thread storage duration is not initialized explicitly, then: - if it has pointer type, it is initialized to a null pointer; - if it has arithmetic type, it is initialized to (positive or unsigned) zero; - if it is an aggregate, every member is initialized (recursively) according to these rules, and any padding is initialized to zero bits;
Михаил
это при билде проверяется а не в рантайме нет никаких трат
т.е. на самом деле 0 в начале не присваивается?
Михаил
я имею ввиду один раз присвоили 0, второй раз чо то полезное
Михаил
лишняя инструкция mov
Warox
т.е. на самом деле 0 в начале не присваивается?
там 0. просто компилятор не пропустит
Jsx707
все сам уже заметил варнинг кароче как все могли понять я си не видел 1000 лет ))
Так стоп .... А разве это не нарушение правил Си ? У static-переменных необходимо сразу определить значение
Ol
Что я делаю не так? Я так поняла, что исключения создаются оператором throw. Ни одно исключение он не хочет выполнить правильно
Михаил
там 0. просто компилятор не пропустит
непонятно. Так в этом коде int a = 0; a = fn(); Console.WriteLine(a); сколько раз a присваивает значение?
Vyacheslav
Что я делаю не так? Я так поняла, что исключения создаются оператором throw. Ни одно исключение он не хочет выполнить правильно
его же потом еще ловить нужно и обрабатывать как-то а так смысл исключения именно в этом - сообщить об ошибке
Ol
это правильное выполнение А чего ты ожидаешь ?
Ожидаю, что как в случае с try, catch он вместо такого исключения выдаст в консоли адекватную надпись, что знак введёт неверный
Михаил
Warox
так вот лишний 1 раз
так везде так :)
Михаил
а по моему в с++ просто занимается память, и вместо мусора 1 раз что то записывается
Vyacheslav
Да, это я и пытаюсь реализовать
ты руками пишешь часть, которая бросает исключение а после ты должна его поймать через try/catch
Warox
а по моему в с++ просто занимается память, и вместо мусора 1 раз что то записывается
в новом стандарте си тоже зануляется мы уже это проверили - есть скрины выше
Михаил
а
m700
Твой троллинг не уместен
это не троллинг, я всегда по делу говорю
Ol
это не троллинг, я всегда по делу говорю
Ну вот и подсказал бы тогда решение проблемы
m700
могу более понятней сказать - за такое не то что уволят потом всем еще рассказывать будут
m700
Ну вот и подсказал бы тогда решение проблемы
я неделю назад сказал - забудь про исключения и обходись без них
Ol
я неделю назад сказал - забудь про исключения и обходись без них
Ребята выше сказали, надо юзать исключение, чтобы ноль не выдавался в результате
Warox
а
да и присвоение - оно тупо безплатное сейчас популярны микросервисы любой вызов чего бы то нибыло несоизмеримо дороже чем милион таких присвоений
Михаил
Andrii
кстати на рандомном стайте не выводиться
Компилятор не всё ловит, да, в простых случаях да. А так ты можешь передать указатель на непроинициализированную переменную в функцию, и потом...
Михаил
Ol
могу более понятней сказать - за такое не то что уволят потом всем еще рассказывать будут
Это все не по делу: это повышение своего ЧСВ за счёт моих дыр в знаниях. По делу - помоги, как в коде написать конец без исключений
Warox
Проверил с++ 17- в обычном объявлении не зануляется
))) сейчас read first подход в энтерпрайзе если тебе нужно найти мин и макс вместо фора который ищет оба ты пишешь int min = list.min(); int max = list.max();
Михаил
Проверил с++ 17- в обычном объявлении не зануляется
правда мне пришлось компилятор немног обмануть. Если rand() != 0, выводим неинициализированную var. А так да, зануляет 😁
Vyacheslav
Это все не по делу: это повышение своего ЧСВ за счёт моих дыр в знаниях. По делу - помоги, как в коде написать конец без исключений
можно, например, завернуть это в цикл, и отправлять из дефолта континью или завернуть все это в отдельный метод, и из дефолта вызывать ретурн в обощем каким то способом не дать программе дойти до строчки console.writeline()
Борисов
правда мне пришлось компилятор немног обмануть. Если rand() != 0, выводим неинициализированную var. А так да, зануляет 😁
Переменные, объявленные на стеке, не зануляются при объявлении По ссылке описано что и как происходит - с выдержками из стандарта https://stackoverflow.com/questions/52205008/automatic-storage-duration-struct-initialization Там, правда, для Си. Но, думаю, в С++ всё также должно быть
Ol
у меня и так чсв огромное и не за счет айти, мне на него как бы положить. задача какая?
калькулятор с таким кодом. Если не присваивать ему в начале ноль, то последнюю строчку с выведением результата он не видит. Присвоили ноль. Но теперь, если знак неверный, то нужно, чтобы он не выдавал строчку "ваш результат =0"
Борисов
калькулятор с таким кодом. Если не присваивать ему в начале ноль, то последнюю строчку с выведением результата он не видит. Присвоили ноль. Но теперь, если знак неверный, то нужно, чтобы он не выдавал строчку "ваш результат =0"
Самое простое - переменную result сделать строкой. То есть, например, посчитали сумму, результат перевели в строковый вид и присвоили его переменной result А вместо исключения просто присваивать переменной result сообщение об ошибке
m700
все понял, да через стринг как один из вариантов. так используют.
Антон
Привет, есть вопрос Если мне 17 лет, перехожу в 11 класс, умею пользоваться Python и даже уже написал на нем приложение для андроида (через kivy), то логично ли попробовать попроситься куда-нибудь в it-компанию на 2 недельки поработать, например, стажером, чтобы получить опыт работы в команде, командная строка, гит и другие приколы? Хорошая ли вообще мысль? И если да, то куда тогда податься?😅 Всем заранее спасибо
Антон
мысль плохая. Лучше поййтив вуз учится и на 2ом курсе потыркаться
Это уж точно будет, на 3 курсе обязательно на работу!) 😄