Форум программистов, компьютерный форум, киберфорум
Наши страницы

Что быстрее, операция присваивания или сравнения? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив: В заданной прямоугольной матрице с количеством строк 2n переставить столбцы в следующем порядке: 1, 2n, 2, 2n–1, 3, 2n–2, … n, n+1 http://www.cyberforum.ru/cpp-beginners/thread834771.html
Пожалуйста помогите с задачей! С++ программа Visual Studio В заданной прямоугольной матрице с количеством строк 2n переставить столбцы в следующем порядке: 1, 2n, 2, 2n–1, 3, 2n–2, … n, n+1....
C++ Реализация программы(из файл) Здравствуйте.Нужно было реализовать программу и выполнить некоторые ф-ии, ну вообщем воот Реализовать программу, автоматизирующую учет прокатов автомобилей. Первый файл содержит информацию об... http://www.cyberforum.ru/cpp-beginners/thread834750.html
C++ Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ
Вобщем,если не сложно,именно саму функцию помочь написать,ибо я просто не могу понять:) Добавлено через 22 минуты вот так попробовал,но выбивает 0:( #include <iostream> #include <conio.h>...
C++ Описать структуру с именем STUDENT
Помогите пожалуйста написать программу на C++ для Visual Studio. Описать структуру с именем STUDENT, содержащую следующие поля:  фамилия и инициалы;  номер группы;  успеваемость (массив из...
C++ систему дифференциальных уравнений. метод Эйлера http://www.cyberforum.ru/cpp-beginners/thread834684.html
Решить систему дифференциальных уравнений {y'= y+z+x ниже z'=-4y-3z+2x ,при y(0)=1, Z(0)=0 с заданным шагом h на отрезке , введенных с клавиатуры. Метод Эйлера.
C++ отчет у кого нибудь есть отчет по пр-ке в библиотеке подробнее

Показать сообщение отдельно
Kastaneda
Jesus loves me
Эксперт С++
4729 / 2933 / 242
Регистрация: 12.12.2009
Сообщений: 7,443
Записей в блоге: 2
Завершенные тесты: 1
11.04.2013, 19:00
Короче заинтересовался я данным вопросом. Эксперементы ставил вот на таком коде
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
 
bool b;
 
void f ()
{
    if (!b) b = true;
}
 
int main()
{
    std::cin >> b; // ручной ввод нужен, чтоб компилятор вообще все не выкинул
    f();
 
    return 0;
}
комплировал в студийном компиляторе с ключом \О2 и в MinGW с ключами -О2 и -О3 по очереди. Я, честно говоря, ожидал, что компилятор оптимизирует
C++
1
if (!b) b = true;
до
C++
1
b = true;
но ни один этого не сделал. Только функцию заинлайнили.
Возможно компилятор не смог уловить логику, т.е. что в любом случае b равно true, поэтому не оптимизировал до присваивания.
Кстати студийный компилятор вообще убрал условный переход и заюзал "тяжелую" инструкцию cmovz после test.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru