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

Разница между префиксной и постфиксной формой записи счетчика цикла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти количество элементов массива, равных первому элементу http://www.cyberforum.ru/cpp-beginners/thread122150.html
ПОМОГИТЕ ПОЖАЛУЙСТА!!!! 1)Составить программу,которая находит количество элементов,равных первому элементу,и количество элементов,равных последнему,в мвссивах X(n) и Y(M).вычислить количество элементов(оформить в виде таблицы)!!!! 2,Получить квадратную матрицу порядка n. 1 2 3 ... n n n-1 n-3 1 ...
C++ Константы и выражения 1.Записать каждое десятичное число в виде целой десятичной, восьмеричной и шестнадцатеричной константы: 126 10 219 77 2.Записать каждое десятичное число в виде вещественной константы в форме с фиксированной точкой и экспоненциальной форме: 0,4335 4,3*10-2 778 0,005*102 3.еменная объявлена как float S. Определить значение результата каждой операции и значение переменной S... http://www.cyberforum.ru/cpp-beginners/thread122142.html
Выберите названия, содержащие хотя бы одно из заданных ключевых слов. C++
Помогите плиз решить задачу на С++ Заданный набор ключевых слов, а также текст, в котором хранится длинный список названий книг и научных работ. Выберите названия, содержащие хотя бы одно из заданных ключевых слов.
записать каждое десятичное C++
1. Записать каждое десятичное число в виде целой десятичной, восьмеричной и шестнадцатеричной константы: 55 219 143 79 2. Записать каждое десятичное число в виде вещественной константы в форме с фиксированной точкой и экспоненциальной форме: 99*10-1 1340 9,865 10000 3. Переменная объявлена как int S. Определить значение результата каждой операции и значение переменной S после...
C++ Как сделать, чтоб после появления нового символа, предыдущий менялся на пробел http://www.cyberforum.ru/cpp-beginners/thread122114.html
Есть цикл вот такой: int main() { string b,c; b = "+"; c = " "; int a = 0; for(int i = 0;i<=100000000;i++) {
C++ Среди всех n-значных чисел указать те, сумма цифр которых равна данному числу k. Среди всех n-значных чисел указать те, сумма цифр которых равна данному числу k. Помогите решить :) подробнее

Показать сообщение отдельно
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3614 / 1889 / 501
Регистрация: 18.10.2014
Сообщений: 3,451
25.02.2016, 20:05     Разница между префиксной и постфиксной формой записи счетчика цикла
Цитата Сообщение от hoggy Посмотреть сообщение
RVO/NRVO - стандартные оптимизации.
вы никогда не задумывались, почему их называют "стандартными?
Их называют стандартными потому, что они разрешены стандартом.

Цитата Сообщение от hoggy Посмотреть сообщение
священного писания нет под рукой.
однако, вы можете сами проверить и убедиться:
они там описаны.
О том, что они там описаны вам сообщил я. Причем я также сообщил вас, как они там описаны: именно как оптимизации, т.е. что-то, что компилятор может, но не обязан делать. Поэтому зачем вы нам тут пытаетесь напускать туману глубокомысленными разглагольствованиями о том, что "оптимизации называют стадартными" и что "они там описаны" - мне не понятно. Мы все здесь об это прекрасно знаем. К чему это здесь?

Вы нам тут обширно разглагольствовали на тему того, что станадарт обязывает компиляторы делать такие оптимизации и даже говорит где и когда они обязаны это делать. Поэтому не надо нам тут мозги пудрить томными упоминаниями каких-то названий и описаний, а давайте-ка покажите нам, где это конкретно стандарт обязывает компиляторы выполнять оптимизации. Прямые цитаты из стандарта приведите, пжлст.

Вопрос, конечно, риторический. Ничего подобного, разумеется, в стандарте нет. На этой замечательной ноте я закрываю это направление обсуждения.

Цитата Сообщение от hoggy Посмотреть сообщение
что у inline есть своя цена - о боже!
inline подстановка приводит к увеличению объемов кода!
Совершенно верно. Именно поэтому inline-подстановка не выполняется безусловно, а основана на решении, принимаем компилятором на основе каких-то внутренних эмпирических/эвристических критериев, в том числе учитывающих вопросы разбухания кода и конфигурационные параметры, заданные пользователем. Компилятор может решить выполнить inline-подстановку, а может решить не выполнить. Другими словами, в общем случае inline-подстановки не делается и рассчитывать на то, что она произойдет - нельзя. То же самое относится и к рассматриваемому вопросу: сколько бы вы ни придумывали оптимизаций, скрывающих разницу в производительности между префиксным и постфиксным инкрементом, помните, что по той или иной причине в общем случае эти оптимизации выполняться не будут.

Цитата Сообщение от hoggy Посмотреть сообщение
к тому, что если вы скомпилите это в релизе, оптимизация по скорости,
то окажется, что для случаев, когда результат можно отбросить,
компилятор оптимизировал простфикс до префикса.
Еще раз: приведенный вам код некорректен и бессмысленен. Поэтому никакого разговора о каких-то оптимизациях в отношении этого кода быть не может. Возьмите в привычку читать свой код внимательнее, перед тем как постить его на всеобщее обозрение, чтобы в будущем избегать подобных конфузов.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru