Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Это Свифтовые генерики. Бесполезны как и любые другие генерики.
Кстати, вопрос на засыпку: можно ли сделать в крестах variadic template parameters так, чтобы для каждого typename была сгенерирована перегрузка некоторой функции?
И выпилят половину стандарта! Оставят описание метаклассов и реализацию фич языка, описанную, как метаклассы.
В итоге у нас будет сколько языков в одном? Сейчас есть: С-с-классами, препроцессор, шаблонная метушня, язык описания концептов, добавят ещё рефлексию (со своим синтаксисом) и метаклассы. С++ — набор языков для создания своего идеального говноязыка.
> И выпилят половину стандарта
Может его хоть прочитать будет реально... А то сейчас только корейские задроты могут полностью прочесть и осознать стандарт.
>А то сейчас только корейские задроты могут полностью прочесть и осознать стандарт
Полностью прочесть - это возможно.
Но вот "полностью осознать", это сможет только великий дзенский мудрец. Всю жизнь он будет курить Святой Стандарт в попытках полностью осознать Его божественность.
Используй черновики, они бесплатны. Последний черновик стандарта отличается от стандарта только титульным листом. Полезные линки: http://wg21.link/standard http://wg21.link/
Поясняю для особо одарённых: чтобы сделать стандарт более-менее официальным, его нужно публиковать через ISO. ISO забирает права на распространение и запрещает раздавать стандарт бесплатно. НО! На черновики этот запрет не распространяется. Поэтому, чтобы обойти копирастию, Комитет делает официальный стандарт неотличимым от последнего черновика.
Это наебалово какое-то, откровенно говоря. Я, как человек ни разу не открывающий стандарт, пошёл его гуглить. Откуда мне знать что нужно искать черновики?
>С++ — набор языков для создания своего идеального говноязыка.
Да всё сведётся к какому-то абстрактному шаблонному лиспохаскелю с метушиными макросами и их реализацией для обратной поддержкой всей питушни начиная с 1970х.
Она переименовывается так компилятором. Так она называется тоько в бинарнике. Типичный ГЦЦшный манглинг:
N - имя в неймспейсах
St - ::std:: - первая часть имени, использует специфическое сокращение
7__cxx11 - inline namespace, используется в libstdc++ чтобы включать фичи С++11, когда надо. Гцц использует паскалестроки, длина в начале
12basic_string - название собственно класса
l - шаблонные параметры дальше, эквивалентно < в нормальном коде
c - char, ещё одно сокращение гцц
St - ::std::, опять
11char_traits - имя класса char_traits
l - начинаются шаблонные параметры
c - char
E - Закончилось описание предыдущего типа (char_traits)
Sa - ::std::allocator - сокращение
l - шаблонные параметры
c - char
E - закончилось описание allocator
E - закончилось описание basic_string
E - закончилось описание типа вообще.
var value: Int
init(value: Int) {
self.value = value
}
}
class MyClass2 {
var value: Int
init(value: Int) {
self.value = value * 2
}
}
если шо
Кстати, вопрос на засыпку: можно ли сделать в крестах variadic template parameters так, чтобы для каждого typename была сгенерирована перегрузка некоторой функции?
http://coliru.stacked-crooked.com/a/e811fd1ce0c13519
Выглядит как сильное колдунство.
А с использованием только одной структуры это возможно сделать?
Надо ещё проверить, можно ли так забабахать абстрактный класс
Скорее всего нет, миксины в крестах только через наследование эмулируются...
З.Ы. Вот метаклассы завезут лет через 10-20 - там можно будет.
В итоге у нас будет сколько языков в одном? Сейчас есть: С-с-классами, препроцессор, шаблонная метушня, язык описания концептов, добавят ещё рефлексию (со своим синтаксисом) и метаклассы. С++ — набор языков для создания своего идеального говноязыка.
Может его хоть прочитать будет реально... А то сейчас только корейские задроты могут полностью прочесть и осознать стандарт.
Полностью прочесть - это возможно.
Но вот "полностью осознать", это сможет только великий дзенский мудрец. Всю жизнь он будет курить Святой Стандарт в попытках полностью осознать Его божественность.
А то вот нашёл, его ещё покупать надо https://www.iso.org/standard/68564.html О_О
http://wg21.link/standard
http://wg21.link/
Переписать на питоне?
Да всё сведётся к какому-то абстрактному шаблонному лиспохаскелю с метушиными макросами и их реализацией для обратной поддержкой всей питушни начиная с 1970х.
Въебал минус
Пиздец. Это внутри так обычная строка называется?
Кресты пробивают дно за дном.
N - имя в неймспейсах
St - ::std:: - первая часть имени, использует специфическое сокращение
7__cxx11 - inline namespace, используется в libstdc++ чтобы включать фичи С++11, когда надо. Гцц использует паскалестроки, длина в начале
12basic_string - название собственно класса
l - шаблонные параметры дальше, эквивалентно < в нормальном коде
c - char, ещё одно сокращение гцц
St - ::std::, опять
11char_traits - имя класса char_traits
l - начинаются шаблонные параметры
c - char
E - Закончилось описание предыдущего типа (char_traits)
Sa - ::std::allocator - сокращение
l - шаблонные параметры
c - char
E - закончилось описание allocator
E - закончилось описание basic_string
E - закончилось описание типа вообще.
Как можно заметить - всё очень просто!