Я sh Вон был прав, но по моему опыту это не всегда работает. Фактически, из того, что я видел, это почти никогда не работает. Поскольку в отладочной сборке вы теряете видимость этого кода, программист склонен просто предполагать, что эти вещи встроены, когда есть вероятность, что это не так. Один из способов проверки - включить оптимизацию в сборке DEBUG, и проверить сгенерированный код дизассемблирования.
Компилятору часто не удается понять, что задумал программист, поэтому он придерживается того, что безопасно. Например, программист может знать, что индекс массива находится в границах массива или даже является постоянным, но это не означает, что компилятор может это выяснить.
Это проблема, когда вы используете стандартные шаблоны библиотек. , Я знаю, что людям рекомендуется использовать их, потому что они ловят младшие ошибки программирования, но цена, которую вы платите за них, не go прочь.