Прежде всего, прежде чем я начну, я использую VC++ 2008 профессиональный, работающий на ядре Intel2 на ОС Windows. Я также знаю, что этот код НИКОГДА не будет выполняться ничем, кроме ядра2/corei7, работающего под Windows.Условие порядка во время цикла
У меня есть цикл while с двумя условиями, которые выглядят примерно так: Примечание: это упрощенная версия.
while((a != b) && (array[a] < c))
Если первое условие (a != b)
создает ложное, будет второе условие даже быть оценена? или цикл просто прекратится прямо там?
Я сделал несколько тестов, и кажется, что это действительно так.
Однако, это улов. Когда и если первое условие оценивает значение false, второе условие будет генерировать нарушение доступа, если оно будет оценено. Однако из того, что я вижу, после того, как первое условие оценивается как ложное, программа не утруждает себя оценкой второго условия и выходит из цикла, тем самым сохраняя меня.
Проблема в том, что я не могу полностью избавиться от проблемы нарушения прав доступа, не сделав меня очень красивым и аккуратным кодом, внезапно взорвавшим меня. Однако из-за небольшой «ошибки» (я знаю, что это оптимизация компилятора, а не ошибка), я, похоже, могу уйти от нее. Я также знаю, что это, вероятно, не очень хорошая практика программирования, но, честно говоря, в моей ситуации, если она работает, я уже опережаю игру.
Вопрос в том, будет ли эта ошибка «ошибка» или неправильная программирование вернуться и укусить меня когда-нибудь? Даже если учесть, что я проверил ад из этого раздела и БУДЕТ ТОЛЬКО ИСПОЛЬЗОВАТЬ ЭТО В ОДНО ВРЕМЯ?
Ничего себе, у вас много вопросов, не так ли? Вы должны просто добавить моего посыльного haha –
Вы снова! Я сообщу вам о MM и дам вам своего посланника. Чувак, вроде 3AM, где вы! ты не спишь? Вам просто нравится ... жить здесь? (Я только опаздываю, потому что это единственный раз, когда все остальные спят и не беспокоят меня, поэтому я могу проделать определенную работу над моей диссертацией). – Faken
Я периодически проверяю свои сайты, и ваши вопросы всегда те, кто интересуется мной и находятся в верхней части страницы. Это становится немного страшно. Я на самом деле рано - тренажерный зал за 2 часа. –