LINUX.ORG.RU

Какое-то вялое обсуждение у вас. Неужели будущее Си++ никому уже неинтересно, кроме старого-нового лестера воты?

Я тут бегло пробежался по новой книге Страуструпа. Увидел новый std::async, заинтересовался. И тут на ЛОРе узнаю, что уже deprecated. Проверил - действительно deprecated.

dave ★★★★★
()
Ответ на: комментарий от wota

есть вот такой странный код, где в ссылке вполне правильно советуют какими дырками можно misuse нетранзитивность константности в С++.

и неправильно советуют шаблонную магию для затычки.

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

да, стандарт вообще нам про это говорит UB и где-то через эту дырку удастся проскочить.

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

но это специальная олимпиада, и вообще я столько не выпью

anonymous
()
Ответ на: комментарий от tailgunner

google std::async deprecated

Смотрим первую ссылку (pdf):

3.3: Option: Deprecate std::async. Move the declarations of async in 30.6.1/1, and all of subclause 30.6.8 [futures.async], to Annex D

Предложение. Решение не принято, но есть повод задуматься. Да, и они хотели еще поменять тип возвращаемого значения у std::async.

Честно скажу, особо не вчитывался. Мне пока Си++ неинтересен. Раньше программировал на нем. Знаком с начала 90-х. Но в последние годы интерес к Си++ сильно угас.

dave ★★★★★
()
Ответ на: комментарий от dave

Какое-то вялое обсуждение у вас. Неужели будущее Си++ никому уже неинтересно

есть другой большой активный топик про плюсы - все желающие уже там высказались

Увидел новый std::async, заинтересовался. И тут на ЛОРе узнаю, что уже deprecated. Проверил - действительно deprecated.

не deprecated, это одно из предложений, собс-но так изначально и рассчитывали - выпустить большой С++11 и вслед за ним корректирующий С++14

wota ★★
()
Ответ на: комментарий от anonymous

еще один знаток LLVMа пришел. не далее как полгода назад мне один клоун уже рассказывал про metadata, пока его носом в код не ткнули, где эта metadata стирается на оптимизации.

ckotinko ☆☆☆
()
Ответ на: комментарий от anonymous

разные ABI для x86 и AMD64.

так ведь набор регистров отличается и размер указателя.

как победить манглинг я написал - сразу экспотировать «жирную» vtable,она даже дешевле выйдет

ckotinko ☆☆☆
()
Ответ на: комментарий от ckotinko

Идиот. Не вставляй левые оптимизации между своими пассами. А если тебе нужно конкретно отметить какое-то свойство для basic block-а, то тупо вставляй туда вызов своего intrinsic-а, как все приличные люди делают.

anonymous
()
Ответ на: комментарий от ckotinko

чтобы «победить манглинг» достаточно вообще его отключить через extern «C» { .... }

экспортировать «жирную» vtable есть костыль: ситуация с долгой загрузкой того же KDE, OpenOffice, и т.п. — любого приложения на плюсах с множеством функций, которые из-за vtable делают stress-test лоадеру исполняемых бинарей.

то есть, всё будет ещё хуже, чем сейчас в плюсах.

этот virtual (точнее, non-virtual) выступает хинтом оптимизации, как бы намекая нам на случаи, когда можно сделать более эффективно (non-virtual // final // sealed ) и все остальные (virtual).

только костыль в том, что хинт расставляется вручную, а не выводится «достаточно умным компилятором».

поэтому то, что в «С++ несколько callconv» в некотором роде разумно — свой на каждый случай.

в итоге, такое ABI непрозрачно для Си (cdecl).

SOM например, представляет собой альтернативную реализацию объектной модели, где и прозрачно, и есть наследование-инкапсуляция-полиморфизм, и метаклассы-классы-рефлексия-интроспекция, и бинарная совместимость (потому что cdecl).

anonymous
()
Ответ на: комментарий от anonymous

ситуация с долгой загрузкой того же KDE, OpenOffice, и т.п.

проверил = «холодный» старт LibreWriter 4.1 практически мгновенный (сам не ожидал, раньше splash долго висел), KDE 4.11 из lightdm стартует, да, секунд пять, но это ж DE, оно много всего делает и подгружает при старте, так что я б не списывал все на vtable

wota ★★
()
Ответ на: комментарий от ckotinko

Ты бы, придурок, посмотрел хотя бы, как debug интринсики вставляются.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.