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

Оптимизирует ли компилятор код при использовании функции, возвращающей константу? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поиск наименьшего расстояния от одного элемента массиа до остальных http://www.cyberforum.ru/cpp-beginners/thread948740.html
Дан неотсортированный массив чисел (но это не беда, отсортируем...) тогда получится отсортированный по возрастанию массив чисел)) В нём могут быть поворяющиеся элементы... Нужно найти такое значение элемента массива, из которого все расстояния до остальных элементов будет минимальным (вот это уже проблема(( ). Расстояние от одного элемента массива A до другого будет находиться по формуле:...
C++ Опять указатели Здравствуйте. Изучаю эти туториалы: http://www.rastertek.com/dx11tut03.html В конце есть упражнение: конфигурацию видеокарты вывести в текстовой документ. Есть файл: d3dclass.cpp, ну и d3dclass.h соответственно. Там (в d3dclass.cpp) есть метод: void D3DClass::GetVideoCardInfo(char* cardName, int& memory) { strcpy_s(cardName, 128, m_videoCardDescription); memory = m_videoCardMemory; return;... http://www.cyberforum.ru/cpp-beginners/thread948735.html
C++ Чистка памяти
Имеет ли смысл в функции main() делать в конце очистку от экземпляра созданного класса delete имя_экземпляра_класса, или это сделает деструктор класса? Под экземпляр класса память в начале main() выделялась.
C++ как задать текст длинной не больше 100 символов заканчивающийся точкой?
код пожалуйста))
C++ Работа с файлами (.txt) http://www.cyberforum.ru/cpp-beginners/thread948682.html
В файле находятся только целые числа. Определить, имеет ли последовательность чисел, находящихся в файле, нечетную длину, и если да, то переменной m присвоить значение среднего элемента файла. В противном случае присвоить этой переменной значение первого числа файла.
C++ Возвращение ссылки на указатель использование её как левостороннего значения Есть шаблон: //------------------------------------------------------- template<class T> struct ts { private: void* data; public: ts(T* pt) : data(pt) { } подробнее

Показать сообщение отдельно
ValeryS
Модератор
6406 / 4872 / 447
Регистрация: 14.02.2011
Сообщений: 16,167
05.09.2013, 21:33     Оптимизирует ли компилятор код при использовании функции, возвращающей константу?
Цитата Сообщение от Somebody Посмотреть сообщение
Если вывод уберёшь, то константа подставляется прямо в цикл, а функция вообще не вызывается.
а ты в этом уверен?
все зависит от компилятора, а точнее от настроек оптимизатора
нормальный оптимизатор даже вот это выкинет
Цитата Сообщение от daslex Посмотреть сообщение
for (int i=0;i!=myfunc();i++) * i+=2;
в цикле ничего не происходит и значит зачем он нужен?
но!!! если myfunc() лежит в другом С файле(другая единица трансляции) ничего не сократит
поскольку оптимизатор не знает что возвращает myfunc, и цикл честно прокрутится 33 раза
разве что заменит на это
C++
1
for (int i=0;i!=myfunc();i+=3);
Добавлено через 1 минуту
Цитата Сообщение от daslex Посмотреть сообщение
Пошаговое выполнение (F8). Функция вызывается каждый раз.
правильно Дебиг режим, оптимизатор не вступил в работу
только дизасемблирование поможет разгадать задачку
 
Текущее время: 16:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru