Здравствуйте, Константин Б., Вы писали:
S>>Ну и как бы нельзя не поделиться ссылкой: ifstream (равно как и ofstream, равно как и fstream). Если вы открыли файл, то не закрыть его вы просто так уже не сможете.
КБ>Конечно смогу КБ>
КБ>new std::ifstream("file.txt");
КБ>
Может вам C++ подучить. Ну чтобы хоть знать предмет, о котором вы пытаетесь рассуждать?
Здравствуйте, so5team, Вы писали:
S>Здравствуйте, Константин Б., Вы писали:
S>>>Ну и как бы нельзя не поделиться ссылкой: ifstream (равно как и ofstream, равно как и fstream). Если вы открыли файл, то не закрыть его вы просто так уже не сможете.
КБ>>Конечно смогу КБ>>
КБ>>new std::ifstream("file.txt");
КБ>>
S>Может вам C++ подучить. Ну чтобы хоть знать предмет, о котором вы пытаетесь рассуждать?
Здравствуйте, Константин Б., Вы писали:
S>>>>Ну и как бы нельзя не поделиться ссылкой: ifstream (равно как и ofstream, равно как и fstream). Если вы открыли файл, то не закрыть его вы просто так уже не сможете.
КБ>>>Конечно смогу КБ>>>
КБ>>>new std::ifstream("file.txt");
КБ>>>
S>>Может вам C++ подучить. Ну чтобы хоть знать предмет, о котором вы пытаетесь рассуждать?
КБ>А может вам?
Я-то вынужден делать это регулярно. Что и позволяет увидеть, что здесь нет проблемы с закрытием файла. Здесь другая проблема, которой вы пытаетесь замаскировать тот факт, что в C++ деструкторы автоматически делают то, что в zig и Go приходится делать вручную с помощью defer.
Здравствуйте, so5team, Вы писали:
S>Здравствуйте, Константин Б., Вы писали:
S>>>>>Ну и как бы нельзя не поделиться ссылкой: ifstream (равно как и ofstream, равно как и fstream). Если вы открыли файл, то не закрыть его вы просто так уже не сможете.
КБ>>>>Конечно смогу КБ>>>>
КБ>>>>new std::ifstream("file.txt");
КБ>>>>
S>>>Может вам C++ подучить. Ну чтобы хоть знать предмет, о котором вы пытаетесь рассуждать?
КБ>>А может вам?
S>Я-то вынужден делать это регулярно. Что и позволяет увидеть, что здесь нет проблемы с закрытием файла.
Т.е. файл будет закрыт? Точно C++ подучить не надо?
Здравствуйте, so5team, Вы писали:
S>Здравствуйте, Константин Б., Вы писали:
КБ>>Т.е. файл будет закрыт?
S>Ага, как только внесенную ошибку исправите.
А как дысал, как дысал. "Вон ваш zig не принуждает писать правильынй код, а С++ принуждает. Возьмите iostream и файл обязательно будет закрыт."
А оказывается надо всего лишь писать без ошибок. Собственно этим всегда разговоры о C++ и заканчиваются. Надо просто писать без ошибок и все будет хорошо.
Здравствуйте, Константин Б., Вы писали:
КБ>А как дысал, как дысал. "Вон ваш zig не принуждает писать правильынй код, а С++ принуждает. Возьмите iostream и файл обязательно будет закрыт."
Да, возьмите и будет закрыт. Если не можете, то вы ССЗБ.
Что взять в zig, чтобы не нужно было вручную его закрывать?
КБ>А оказывается надо всего лишь писать без ошибок.
Покажите мне хоть один язык, который бы это не требовал.
Здравствуйте, CreatorCray, Вы писали:
CC>Мне интуитивно понятно что сначала происходит расширение битности, банально потому что я начинал с ассемблера и знаю как оно работает в проце.
Ого, ничесе, ты знаешь как представляются числа в памяти компа!
А про какое расширение битности ты говоришь — знаковое или беззнаковое!
CC>ЛОЛ! С++ низкоуровневый язык который растёт от железа.
От какого железа? От PDP-11? Или от 8080? С++ как раз пытается быть абстрактным и кроссплатформенным, по минимуму заточенным на особенности конкретных реализаций.
ПС Я надеюсь, тебе не больше 20 лет?
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Здравствуйте, Константин Б., Вы писали:
КБ>Конечно смогу КБ>
КБ>new std::ifstream("file.txt");
КБ>
И как ты сможешь это сделать случайно?
Ни один крестовик с хоть каким-то опытом не будет делать new для временного стекового объекта, это не требует внимательности.
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте
Здравствуйте, T4r4sB, Вы писали:
TB>Здравствуйте, Константин Б., Вы писали:
КБ>>Конечно смогу КБ>>
КБ>>new std::ifstream("file.txt");
КБ>>
TB>И как ты сможешь это сделать случайно? TB>Ни один крестовик с хоть каким-то опытом не будет делать new для временного стекового объекта, это не требует внимательности.
Ну вот прям щас сделал поиск в гитхабе, получил >7 тысяч new std::ifstream. Ткнул на случайный проект и вижу:
...
auto src_file = new std::ifstream(path);
if (!src_file->is_open())
throw std::runtime_error("Unable to open source file " + path);
...
PS: ХЗ что за проект, но у него 1800 звёзд )
PPS: справедливости ради надо сказать, что в некоторых найденных проектах народ делает сначала new std::ifstream, а затем присваивает результат во владеющий умный указатель
Здравствуйте, CRT, Вы писали:
CRT> это из какой конструкции ассемблера тебе интуитивно понятно?
В асме ты всегда явно задаёшь что хочешь получить. Если просто начнёшь работать с регистром как с более широким до того как он был использован исключительно как "узкий" то в старших битах и вовсе мусор может быть.
CRT>В ассемблере вообще у переменных нет знаковости или беззнаковости.
Там и переменных то нету
Но есть некоторые отдельные команды для знаковых операций, того же перемножения например.
CRT>Ты когда работаешь с ними, сам явно выбираешь какие команды использовать — те которые трактуют переменную как знаковую, или те которые трактуют ее как беззнаковую.
Ты выбираешь команды в зависимости от того, какой результат ты хочешь получить.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, T4r4sB, Вы писали:
TB>А про какое расширение битности ты говоришь — знаковое или беззнаковое!
ДА!
CC>>ЛОЛ! С++ низкоуровневый язык который растёт от железа. TB>От какого железа? От PDP-11? Или от 8080?
TB>С++ как раз пытается быть абстрактным и кроссплатформенным, по минимуму заточенным на особенности конкретных реализаций.
С вырос как более высокоуровневый ассемблер
С++ вырос из С
Всё остальное — нашлёпки сбоку для переносимости
TB>ПС Я надеюсь, тебе не больше 20 лет?
Оставь пустые надежды
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
CC>В асме ты всегда явно задаёшь что хочешь получить.
еще раз, какая конструкция в ассемблере тебе дает интуитивно понять что в С++ конструкция (unsigned)char(0xff) даст 0xffffffff ?
вот именно, что в асме ты ЯВНО задаешь с помощью команд что происходит с числом. Хочешь у тебя из 0xff будет 0xffffffff, а хочешь — будет 0x000000ff. Никто и ничто не заставляет в асме тебе сделать так что у тебя получиться 0xffffffff
Здравствуйте, reversecode, Вы писали:
R>movzx movsx ?
И? Вот ты знаешь ассемблер. Ты знаешь команды movzx movsx.
Как тебе помогают эти знания понять что для реализации (unsigned int)char(0xff) будет обязательно выбрано movsx?
В этом вопрос же
CreatorCray утверждает что знание ассемблера ему позволяет интуитивно понимать что (unsigned int)char(0xff) будет равно 0xffffffff
Здравствуйте, reversecode, Вы писали:
R>когда я пишу на С/C++ я очевидно не думаю об ассемблере — я правльно ответил?
нет, неправильно. Потому что в этой подветке CreatorCray утвержает что знание ассемблере ему позволяет интуитивно понять что (unsigned int)char(0xff) будет равно 0xffffffff
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, T4r4sB, Вы писали:
TB>>А про какое расширение битности ты говоришь — знаковое или беззнаковое! CC>ДА!
Что да?
У меня ощущение, что я сейчас разговариваю с кулхацкером из 9 "Б"
Нет такой подлости и мерзости, на которую бы не пошёл gcc ради бессмысленных 5% скорости в никому не нужном синтетическом тесте