Ошибки, баги, вопросы - страница 2725
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ещё раз повторю, если бы оптимизаторы были бы очень умны, то default init приравняли бы к value init с вставкой компилятором инициализурующих инструкций по необходимости ещё в каком-нибудь C11, но увы. Никто не заставляет, если не хотите то, делайте везде T val{}; Усталь объяснять элементарщину.
Потому что стандарт C++, как я понимаю, описывает правила очень формально, без привязки к контексту. Т.е. инициализацию либо делать всегда, либо не делать никогда. Для сравнения, в C# можно объявить переменную без инициализации, но далее по коду она должна быть обязательно проинициализирована. Т.е. компилятор анализирует последующий код, а не только текущую команду, это заложено в правилах языка. В C++ же никакого анализа не предусмотрено стандартом. Нет гибкости. Поэтому если пропишут принудительную инициализацию, вы начнёте возмущаться, мол как же так, я сам хочу всё контролировать и инициализировать! )
Потому что стандарт C++, как я понимаю, описывает правила очень формально, без привязки к контексту. Т.е. инициализацию либо делать всегда, либо не делать никогда. Для сравнения, в C# можно объявить переменную без инициализации, но далее по коду она должна быть обязательно проинициализирована. Т.е. компилятор анализирует последующий код, а не только текущую команду, это заложено в правилах языка. В C++ же никакого анализа не предусмотрено стандартом. Нет гибкости. Поэтому если пропишут принудительную инициализацию, вы начнёте возмущаться, мол как же так, я сам хочу всё контролировать и инициализировать! )
Просто туда попадают обкатанные решения, а если это будет работать через пень колоду, давая часто лишний оверхед, то никто это не включит. Например, прописали же в стандарте ОБЯЗАННОСТЬ для компилятора делать copy elision в с++17.
Тема называется "Ошибки, баги, вопросы".
Пожалуйста, создайте себе тему, в которой будете обсуждать MQL vs C#,C++, и прочее связанное с синтаксисом, компиляторами и разминками для ума.
Вы же тему засоряете и другие вопросы и сообщения пользователей тонут в вашем обсуждении.
Меня спрашивают где вопрос задать - отправляю сюда, а мне в ответ: там дядьки спорят на сто страниц - не буду мешать, остальное бессмысленно ...
'DEFAULT_INT_VALUE' - constant expected NoConstForInput.mq5 13 33
1 errors, 0 warnings 2 1
Build 2361 and 2390
'DEFAULT_INT_VALUE' - constant expected NoConstForInput.mq5 13 33
1 errors, 0 warnings 2 1
Build 2361 and 2390
Вот смотрите, если хотите получать стабильную ошибку, то инициализировать стек очень просто:
Инициализация памяти из хипа - тоже плёвое дело. Если нарвёмся на какую-нибудь representation trap, то вообще получим core dump.
Последний коммент, модераторы не злитесь )).
Тут нужно уточнить - а почему в стеке разные значения от вызова к вызову?. Всё дело в защите https://ru.wikipedia.org/wiki/ASLR, и не нужно даже вообще ничего иницализировать как сказал раннее. В моём случае - запускаю софтину под gdb (отладчиком), который разместит ее по одинаковым адресам при каждом запуске, т.е. стек не будет загажен "случайными" адресами возврата.
Тема называется "Ошибки, баги, вопросы".
Пожалуйста, создайте себе тему, в которой будете обсуждать MQL vs C#,C++, и прочее связанное с синтаксисом, компиляторами и разминками для ума.
Вы же тему засоряете и другие вопросы и сообщения пользователей тонут в вашем обсуждении.
Меня спрашивают где вопрос задать - отправляю сюда, а мне в ответ: там дядьки спорят на сто страниц - не буду мешать, остальное бессмысленно ...
Хотелось бы иметь тему исключительно для багов, а то сюда валят всё подряд.
.
Хотелось бы иметь тему исключительно для багов, а то сюда валят всё подряд.
Поддерживаю. Я давно предлагал навести порядок. Разделить на 2 отдельные темы: "Ошибки, баги" и "Вопросы"
Так ведь всё это уже есть.
И для новичков, и для профи.
Всё равно сюда всё валят.