Здравствуйте, Denis Ivlev, Вы писали:
DI>А в чем я не прав? Классика — трансляция промежуточного представления в ассемблер, современные компиляторы могут в целях ускорения компиляции транслировать сразу в бинарный файл, но так же они все все-равно поддерживают трансляцию в ассемблер.
". Конкретно это утверждение — ложно. Правильным вариантом было бы "некоторые компиляторы С++ транслируют или могут транслировать в ассемблер" (ну и, понятно, в качестве аргумента уже бы не подошло).
DI>P.S. Ты не бойся, я не злой, не надо ходить за мной и с замиранием сердца ставить минусики, если будешь вежливо общаться, приводить аргументы и задавать вопросы, я тоже буду максимально корректен.
Специально я за тобой, равно как и за кем-либо еще, не хожу, а минусики ставлю за некорректную манеру общения.
Здравствуйте, lpd, Вы писали:
lpd>Можешь пояснить, чем первый вариант с присваиванием лучше второго? По-моему второй проще.
В первом варианте в принципе не может быть не открытого файла. У вас либо оба файла открыты, либо вы никуда не движетесь. И это будет так вне зависимости от того, как функция будет модифицироваться и какой еще код (не)случайно попадет между объявлением переменной и ее использованием.
Возможно, здесь есть еще некоторый выигрыш от того, что для файлов не вызываются дефолтные конструкторы. Но если такое и есть, то это лишь приятный бонус.
Здравствуйте, AlexRK, Вы писали:
ARK>Назвался груздем — лезь в кузов.
Ага, щас, только разбежится.
Он тут уже раскрылся по полной, все грани обнажил. Общение сразу начал с тупорылого хамства, просто потому что даже не осилил понять что ему написали, продолжает в том же духе.
Да и фиг с ним, он унылый и агрессивный. В twit его да и дело с концом.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Denis Ivlev, Вы писали:
DI>... обосрался ... обосрался...
Да что ж тебя всё проносит то так безжалостно сегодня? Такими темпами скоро лёгкое выйдет, может даже сразу с почками.
Поди скушал чего? Может к дохтору не помешает?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, so5team, Вы писали:
S>В первом варианте в принципе не может быть не открытого файла. У вас либо оба файла открыты, либо вы никуда не движетесь.
Ну не знаю, я бы просто проверил открытие каждого файла по-отдельности и добавил немного логики, это не сложно.
Я считаю главным параметром кода простоту восприятия. Новые фичи могут оправдывать усложнение кода. Оптимизации уже не все стоят того.
В твоем примере вместо усложнения кода усложняется язык, на котором этот код пишется. Получается сложно для восприятия, без значительных преимуществ. Некоторые считают, что выигрыш стоит того. Для меня это сложности на (практически) ровном месте.
С++ стал популярен до move-семантики. Появись C++17 в 80-х, с пропагандой всех фич, он бы не заменил С.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Здравствуйте, lpd, Вы писали:
lpd>Ну не знаю, я бы просто проверил открытие каждого файла по-отдельности и добавил немного логики, это не сложно.
Когда-то люди думали, что two-phase init -- это вполне себе хороший подход. Но время показало, что этот самый two-phase init требует написания большего количества кода и код этот получается более хрупким.
move-semantic позволяет дешево избавиться от two-phase init даже в условиях, когда исключения под запретом.
Ну а "это не сложно" так себе аргумент. Кому-то и на чистом C писать не сложно. А кого-то и отсутствие генериков в Go не парит.
Здравствуйте, lpd, Вы писали:
lpd>Получается сложно для восприятия, без значительных преимуществ. Некоторые считают, что выигрыш стоит того. Для меня это сложности на (практически) ровном месте.
Да ну, простая и удобная штука.
Я как только поддержка появилась в ICC тут же везде где давно такое просилось повтыкал, в итоге выкинул прилично лишнего boilerplate кода, который это имитировал и код как раз стал только чище и понятнее.
Это одно из реально приятных нововведений.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, lpd, Вы писали:
lpd>>Получается сложно для восприятия, без значительных преимуществ. Некоторые считают, что выигрыш стоит того. Для меня это сложности на (практически) ровном месте. CC>Да ну, простая и удобная штука.
ппц вместо того только чтобы написать один if для проверки успешности открытия файла, люди добавили в С++ новый тип ссылок. Не играет такое реальной роли в программе — главное все равно архитектура, а не синтаксические фишки.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Здравствуйте, lpd, Вы писали:
lpd>ппц вместо того только чтобы написать один if для проверки успешности открытия файла, люди добавили в С++ новый тип ссылок. Не играет такое реальной роли в программе — главное все равно архитектура, а не синтаксические фишки.
Здравствуйте, AlexRK, Вы писали:
DI>>А в чем я не прав? Классика — трансляция промежуточного представления в ассемблер, современные компиляторы могут в целях ускорения компиляции транслировать сразу в бинарный файл, но так же они все все-равно поддерживают трансляцию в ассемблер.
ARK>Это не эквивалентно изначальному утверждению "С++ компилируется в ассемблер
". Конкретно это утверждение — ложно. Правильным вариантом было бы "некоторые компиляторы С++ транслируют или могут транслировать в ассемблер" (ну и, понятно, в качестве аргумента уже бы не подошло).
Ну ок, если здесь принято парить мозг как у прожженых юристов, я соглашусь — выразился я недостаточно точно: возможно какие-то компиляторы не транслируют из внутреннего представления в ассемблер. Но все известные мне компиляторы это делают. Конкретно clang тоже, пруф я привел.
ARK>Специально я за тобой, равно как и за кем-либо еще, не хожу, а минусики ставлю за некорректную манеру общения.
CC>Он тут уже раскрылся по полной, все грани обнажил. Общение сразу начал с тупорылого хамства, просто потому что даже не осилил понять что ему написали, продолжает в том же духе.
С тупорылого хамства начал ты, за что немедленно получил ссаную тряпку в рожу. Дальше пошли лулзы с твоего батхерта и сливов, ну и в конце-концов выяснилось, что сипипи горлопан С++ знает ну так себе.
CC>Да и фиг с ним, он унылый и агрессивный. В twit его да и дело с концом.
Здравствуйте, CreatorCray, Вы писали:
CC>>... обосрался ... обосрался...
CC>Да что ж меня всё проносит то так безжалостно сегодня? Такими темпами скоро лёгкое выйдет, может даже сразу с почками.
Человеку, который не программирует на C++, можно было бы простить то, что он начинает рассуждать о вещах, связанных с moveable-only типами, о которых он ничего не знает. Но в случае с вашей гипертрофированной самоуверенностью это непростительно. Так что вы демонстративно в очередной раз сели в лужу.
Дружок тебя с утра видимо не приласкал вот ты и бесишься.
NB>тебя не про доступ спрашивали, а про конструкторы.
Но ты же отвечаешь не на мой ответ, а на вопрос Stanislav V. Z… Это называется демагогия и за это ты получаешь в рожу ссаную тряпку. Рсдн-овцы, такие рсдн-овцы
Здравствуйте, so5team, Вы писали:
S>Человеку, который не программирует на C++, можно было бы простить то, что он начинает рассуждать о вещах, связанных с moveable-only типами, о которых он ничего не знает.
Похоже знаю больше тебя.
S>Так что вы демонстративно в очередной раз сели в лужу.
Обоснуй. Я вот код написал, он конкретно демонстрирует RVO и как можно помешать сделать RVO, что не так?
Здравствуйте, Denis Ivlev, Вы писали:
DI>Похоже знаю больше тебя.
Весьма вероятно.
DI>Обоснуй.
Ключевые слова были приведены. Пример показан. Дальше сами.
DI>Я вот код написал, он конкретно демонстрирует RVO и как можно помешать сделать RVO, что не так?
Здравствуйте, Denis Ivlev, Вы писали:
NB>>тебя не про доступ спрашивали, а про конструкторы.
DI>Но ты же отвечаешь не на мой ответ, а на вопрос Stanislav V. Z…
ага. давай я его тебе еще раз покажу
Ээ... я правильно понимаю, что если в структуру добавить конструктор, то компилятор может у структуры поменять порядок полей?
и да, в моем ответе про права доступа все есть, и в изначальном, и в коментарарии
DI>Это называется демагогия и за это ты получаешь в рожу ссаную тряпку. Рсдн-овцы, такие рсдн-овцы