Форум программистов, компьютерный форум CyberForum.ru

Что быстрее, операция присваивания или сравнения? - 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. Например, в матрице с шестью столбцами итоговый порядок столбцов должен быть следующим: 1, 6, 2, 5, 3, 4.
C++ Реализация программы(из файл) Здравствуйте.Нужно было реализовать программу и выполнить некоторые ф-ии, ну вообщем воот Реализовать программу, автоматизирующую учет прокатов автомобилей. Первый файл содержит информацию об автомобилях: • Идентификатор (уникальный номер) автомобиля; • Марка; • Модель; • Год выпуска • Пробег • Стоимость аренды в сутки. http://www.cyberforum.ru/cpp-beginners/thread834750.html
C++ Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ
Вобщем,если не сложно,именно саму функцию помочь написать,ибо я просто не могу понять:) Добавлено через 22 минуты вот так попробовал,но выбивает 0:( #include <iostream> #include <conio.h> #include <stdio.h> int main() {
C++ Описать структуру с именем STUDENT
Помогите пожалуйста написать программу на C++ для Visual Studio. Описать структуру с именем STUDENT, содержащую следующие поля:  фамилия и инициалы;  номер группы;  успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия:  ввод с клавиатуры данных в массив, состоящий из 10 структур типа 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
Форумчанин
Эксперт С++
4261 / 2793 / 219
Регистрация: 12.12.2009
Сообщений: 7,120
Записей в блоге: 1
Завершенные тесты: 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.
 
Текущее время: 17:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru