Страница 2 из 4

Re: Find в списке, когда указаны начало и конец

Добавлено: 29 янв 2016, 06:37
Absurd
Вы тупой чтоли? Речь о том что и i++, ++i, i+=1 и i+1 транслируются в одну и ту же псевдоинструкцию vreg_x=add vreg_y, 1, и дальше компилятор будет работать только с ней до самого конца где в результате понижения (т.н. "lowering") она будет заменена на инкремент. Разница только в том какой из виртуальных регистров будет использован охватывающем выражении - vreg_x или vreg_y. Но в следующем выражении всегда всегда будет использован vreg_x кроме того случая когда не было присваивания (i+1).

Re: Find в списке, когда указаны начало и конец

Добавлено: 29 янв 2016, 06:39
Сионист
Ну если ты мнишь себя умней всего ВАК, то у меня вопрос. Сколько заплатил за диагноз?

Re: Find в списке, когда указаны начало и конец

Добавлено: 29 янв 2016, 06:50
Absurd
Что такое ВАК? По какому каналу вы получили информацию что я считаю себя умнее ВАК? Зачем мне диагноз?

Re: Find в списке, когда указаны начало и конец

Добавлено: 29 янв 2016, 09:04
Romeo
В очередной раз утверждаюсь в мысли, что Сионист просто не умеет читать. Заквотил предложение, построил на нём обличительную саркастическую речь, а следующее предложение даже не удосужился прочесть. По законам жанра после таких фейлов весь сарказм должен вернуться автору, а сам автор обличения должен провалиться под землю от стыда после того, как перечитает первоначальный пост собеседника. Но наш Сионист не таков. Стыд ему не ведом, да и перечитывать он не только не станет, а попросту не умеет.

Re: Find в списке, когда указаны начало и конец

Добавлено: 30 янв 2016, 13:16
Сионист
Absurd писал(а):Что такое ВАК?
Высшая аттестационная комиссия, то есть комитет, утверждающий учёные степени, звания.
По какому каналу вы получили информацию что я считаю себя умнее ВАК?
Ну если ВАК утвердил степень, а ты один вдруг решил, что кандидат наук тупой, то как это ещё интерпретировать?
да и перечитывать он не только не станет, а попросту не умеет.
В отличие от некоторых как раз умею.

Re: Find в списке, когда указаны начало и конец

Добавлено: 30 янв 2016, 18:13
Absurd
Ну если ВАК утвердил степень, а ты один вдруг решил, что кандидат наук тупой, то как это ещё интерпретировать?
Ну попробуйте пособеседоваться в команду Intel C++ или clang. В России есть такие позиции. О результатах напишете тут. По мне так необходимый пласт знаний о том как код на С++ превращается в код машинный у вас отсутствует начисто. Есть чисто умозрительные представления.

Re: Find в списке, когда указаны начало и конец

Добавлено: 30 янв 2016, 18:14
Сионист
Сначала попробуй пособеседоваться на место всего ВАК.
По мне так необходимый пласт знаний о том как код на С++ превращается в код машинный у вас отсутствует начисто. Есть чисто умозрительные представления.
У тебя, судя по утверждению о не возможности соблюсти стандарт языка. А с ними нет и возможности оценивать знания. На самом же деле стандарт реально соблюдается: ++i возвращает новое значение i, а i++ - старое, при этом оба оператора увеличивают i на единицу.

Re: Find в списке, когда указаны начало и конец

Добавлено: 30 янв 2016, 18:31
Absurd
Сначала попробуй пособеседоваться на место всего ВАК.
Пиписькометрией заниматься не намерен. Вообще считаю то махание регалиями которые вы тут затеяли эпическим вашим провалом.
У тебя, судя по утверждению о не возможности соблюсти стандарт языка.
Я нигде не писал о невозможности соблюсти стандарт языка. Я писал что префиксный и постфиксный инкремент, а также суммирование с литеральной единицей, в результате в результате обработки синтаксического дерева программы конвертируются в одну и ту же IR (*) инструкцию, с которой далее бакенд компилятора и работает, то есть

a) сортирует список IR инструкций в таком порядке чтобы не вычислять одно и то же по N раз, но чтобы не ломались зависимости вычислений друг от друга
б) заменяет IR инструкции на реальные машинные инструкции наиболее выгодным образом, подбирая инструкции с минимальным количеством тактов, по возможности их укладывая на входной конвейер таким образом чтобы они могли выполниться параллельно.

*: intermediate representation, "псевдоассемблер"

Re: Find в списке, когда указаны начало и конец

Добавлено: 30 янв 2016, 20:46
Romeo
Сионист писал(а):В отличие от некоторых как раз умею.
Судя по вот этому:
Сионист писал(а):++i возвращает новое значение i, а i++ - старое, при этом оба оператора увеличивают i на единицу.
может и умеешь, но так и не перечитал.

Re: Find в списке, когда указаны начало и конец

Добавлено: 31 янв 2016, 07:12
Сионист
Я нигде не писал о невозможности соблюсти стандарт языка. Я писал что префиксный и постфиксный инкремент, а также суммирование с литеральной единицей, в результате в результате обработки синтаксического дерева программы конвертируются в одну и ту же IR (*) инструкцию, с которой далее бакенд компилятора и работает
То есть всем этим операторам соответствует и один и тот же фрагмент кода и вернуть из операторов разные значения уже не возможно, однако стандарт требует возврата разных значений: префиксная форма должна возвращать новое значение, а постфиксная - старое. Мало того, инкремент по стандарту меняет саму величину, а сложение с литеральной единицей - нет. Сложение только возвращает сумму, то есть новое значение переменной в случае, если бы вместо сложения был инкремент, но само значение переменной остаётся старым. В случае, когда значение оператора ни куда не принимается, ++i, i++, i+=1 и i=i+1 могут быть скомпилированы в одну и ту же инструкцию. Но только могут быть скомпилированы в одну инструкцию, а не компилируются в одну инструкцию независимо от места применения. и соответствуют разным цепочкам инструкций, и - одной и той же инструкции. Да и то, компиляторы и настройки оптимизации бывают разные, где то оптимизации могут не выполняться вообще и при любых настройках, даже будучи заявленными в рекламе компилятора. И не выполняются они от того, что те компиляторы писал чудик, не знакомый с приёмами оптимизации, а всегда, подобно тебе, полагавшийся на автоматическую компиляцию. Только о компиляции он знал хоть что то.