- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
void SomeMethod(void) {
const int a, b;
// ...
struct {
const int a, &b;
lambda(const int a, const int &b) : a(a), b(b) {}
// весь огород ради operator()
const int operator()(const int x) { return SomeCalculation(a, b, x); }
} lambda(a, b);
//...
someContainer.SomeGroupOperation(lambda);
a++; b++;
someContainer.SomeGroupOperation(lambda);
// ...
};
Быстрее бы мы перевели все проекты в нашем отделе под новый стандарт С++0х, а то огородная реализация лямбд по всему проекту уже надоела.
именно так мой анонимный дружок!...
когда я увидел этот код, я буквально кончил от удовольствия...
зы сорри, разлогинился... кстати, красавчик оставь телефончик... погуляем, потусим...
В этой строке проблема. Если инициализировать лямбду ссылкой на локальную переменную и вернуть лямбду из функции, то компилятор ничего не скажет и всё скомпилируется и запустится, а ссылка b будет указывать на мусор в стеке.
const int a, b;
после чего идет это
a++; b++;
и даже если бы это работало, то параметр а при вызове второй лямбды не поменялся бы..
код не верх красоты, но решает поставленные задачи...
к стати при таком методе вызова лямбд, вызов operator () будет инлайном, то есть о производительности, кто-то подумал заранее...
по моему при использовании лямбд, ее вызов станет виртуальным, что просадит производительность...
З.Ы. все размышления исходили из того что функция SomeGroupOperation() является темплейтом, принимающей тип который умеет делать operator(const int )...
Запомните его фразу на века. Его радует всё в языке программирования, если этот язык - С++!
>pushkoff: причем тут константные данные?
ты о них первый заговорил, вообще то. Уже забыл? С++ высушивает мозг. Симптомы начали проявляться.
Загуглить диагноз, думаю, пока ещё сможите. С++ пока пощадил обезьянии области мозга. Но скоро и их схавает.
a++; b++;
является ошибочной, так как а и b являются константами...
можешь взять свой банан... не забудь почистить...
Вердикт: Лечению не подлежит. и подпись.
А если поставленую задачу можно решить легче, то зачем С++ говно?
А ты берёшь?
Много в рот.
Потом срешь.
есть поучительная история. в ядре линукса был код-модуль, полный ассемблерных вставок. пришёл линус торвальдс, всё удалил и заменил собственным кодом на обычном си. код стал быстрее (и портабельнее, что немаловажно).
можно было бы подумать, что си быстрее ассемблера (ужас, какой бред говорю, но я же в беседе с пушковым). нет, просто линукс проф, а тот кто писал ассемблерные вставки - лох. вот и вся мораль. кто же в этой истории лох - дам подумать читателям.
PHPшники призерали сишников, и презрительно говорили что они работают с "битами-шмитами"
я не смотрел как оптимизатор переваривает операции с битами, так как они довольно редкие, ну а на крайний случай есть интринсики, которые нравятся компилятору больше чем ассемблерные вставки...
да и процессоры, в общем-то, не стали проще
Сладкое яблоко круглее кислого.
Как язык может быть "быстрее"?
Современный проц со всеми его стопицотами регистров и комманд, с его суперскалярностью и предсказаниями ветвлений мало понятен обычному программисту, так что шансы написать программу лучше, чем компилятор равны практически нулю.
Сейчас не 88й год, когда процы были по-проще, а компиляторы по-тупее.
Мне кажется это настолько очевидно, что надо быть вебкилом, что бы этого не понимать
>Сладкое яблоко круглее кислого.
>Как язык может быть "быстрее"?
Ассемблер это и не язык, а машинные коды в красивом фантике. Поэтому ассемблер per se всегда быстрее си (или равен ему). Возможные тормоза зависят только от человека. Я это и сказал внизу обсуждаемого коммментария.
Прихали! Ассмеблер -- не язык. Определение ЯП дать, или сам найдешь?
Ассемблер - препроцессор машинных кодов, не более.
На спичках экономите?
если хочется чтоб все было просто, лучше писать на ПХП...
по сути этот код выполняет следующее
for(auto it = someContainer.begin(); it != someContainer.end(); ++it )
{
SomeCalculation(a, b, (*it));
}
но топикастер заметил что этот код используется слишком часто, да и перебор может быть не по всем элементам, а по какому-то набору и он решил самый часто используемый код засунуть в функцию, да и нефиг окружающим искать как перебрать все элементы контейнера (а это может быть нетривиальной задачей, никто же не знает как устроен контейнер на самом деле, и никто не гарантирует что завтра он будет устроен также)...
и получилось
template< class Lambda >
void SomeGroupOperation(Lambda& lambda)
{
for(auto it = begin(); it != end(); ++it )
{
lambda(*it);
}
}
теперь середину цикла топикастер засовывает в особый класс, и люди которые продолжают заниматься контейнером уже не парятся с кодом пользователей мидлвари, они просто меняют 1 функцию перебора, ну и пользователям мидлвари пофиг как устроен контейнер...
>for(auto it = someContainer.begin(); it != someContainer.end(); ++it )
Чё реально? Пошёл есть банан. :(
Ага. В ущерб читаймости и лёгкости написания.
Ты хотьбы про лябды почитал и не позорился. Не можешь читать, дак хоть код компилятора бы дизасемблировал. Или вас ещё этому не учили?
одно не радует, оппонентов не стесняющихся своего мнения становится все меньше, а гестов все больше...
респект и уважуха xXx_totalWar - один из немногих, кто отстаивая свою точку зрения, не ушел в гесты...
Вы любите читать между строк? Вы телепат?
>const int a, b;
Вам нужно завести девушку и тогда вас будет радовать другое. Не дают? Или не хочется? Не хочется, потому что с С++ секса хватает по самое не могу, да он ещё потом насильно отимеет, а потом добавит.
>>const int a, b;
>>после чего идет это
>>a++; b++;
Ой. Извиняюсь. Дома проекты не держу. Все на работе. Вспоминал по памяти. :)
ЧСВ? ФГМ? СПГС?
Все пидоры так говорят.
>не стесняюсь
Только что вы говорили, что не стесняетесь? Ну вот уже врёте...
> только не от одного пароль не помню
> не от одного
Ты синтаксических ошибок, что ли, никогда не видел?
Сам, небось, компилируешь свой код, а тебе компилятор плюёт в лицо: "syntax error!"
Смотри, когда ты ошибёшься, я буду рядом.
Вы все тут в этом треде такие умные. Пойду съем банан:(
Конечно, не все здесь писал я... Тяжёлый рабочий день... Но ты это, Извини. :)
Ещё Платон говорил: "Я знаю, что ничего не знаю". Вы высокомерны.
а что хорошего в "сложных" языках? (с++ сложен сугубо синтаксически - есть чем гордиться) похоже на садомазо - устроим себе сложности на свои жопы! впрочем, я вижу один профит: ботанья возможность померяться письками: я вызубрил необоснованно сложную в ненужных местах и ограниченную в нужных местах систему, а ты, лошара, нет!!
вообще же сложны должны быть не языки, а алгоритмы. но ты постоянно пиздишь именно о языках, что выдаёт в тебе... хм... эм... Мысль оборвалась.
Паттерны нихуя не панацея, а рафакторинг -- нахер он нужен, если изначально проектировать не жопой, а мозгом? Понапишут спагетти код на своем С++, и сидят, дрочат, рефакторят.
Идите Кнута читайте, он куда полезней четырех геев.
а паттерны которые они описывают... это прямо четыре капитана очевидности
давайте посмотрим правде в глаза, как не проектируй и не продумывай, всеравно будет что-то не так... а если вы считаете себя уникальным, то сверху есть кнопка "наговнокодить", специально для вашего идеального кода...
ну а профит в том, что при умелом использовании получаешь фактически высокоуровневый ассемблер...
алгоритм может быть сложным только до момента его реализации, если реализация алгоритма сложна, то это говнокод...
С одной стороны у тебя ООП, перегрузка операторов и прочие мощные средства построения логичного, читаемого кода бизнес-области.
С другой стороны ты можешь спуститься до API операционки (который обычно бывает на C) и общаться с ним напрямую.
Но достаточно посмотреть на любой проект вебкилла на его сайте, что бы понять что красота когда -- это не про него.
Если вся программа состоит из функции "doAll" -- то C++ и правда не нужен.
ООП - ладно, но про перегрузку операторов - спасибо посмеялся. никак не поймёшь, что в отличие от ООП, перегрузка операторов например - это самый сахарный сахар, какой только есть. гордятся сахаром обезьянки только. и что подразумевается под бизнес-областью (которая не может без перегрузки операторов хаха)? бизнес-логику именно что на жабе пишут и прости господи на пхп. на с++ клепают только постоянно крашащиеся игры, в остальных областях он сливает. а коль пушкофф занят в геймдеве, вот и думает из своей норы, что с++ правит балом...
> С другой стороны ты можешь спуститься до API операционки (который обычно бывает на C) и общаться с ним напрямую.
о бингдингах слышал? ничего в них сверхъественного нет
> Но достаточно посмотреть на любой проект вебкилла на его сайте, что бы понять что красота когда -- это не про него.
да пошёл ты!
ты зайди на LinkedIn и посмотри в каких областях там предлагают работу за границей... будешь сильно удивлен...
смотри и удивляйся
даже с уделывает твой с++ по многим параметрам
с какого места там ФЯ идут? я так понимаю их нет в первой десятке?
> 95% программистов не осилили С++ и ты в их числе...
взаимоисключающие параграфы, однако
PHP- 85%
Java - 6%
C++ - 5%
Все остальные - 4%
Налицо третий по популярности и 95% не осиливших.
:) Просто в свое время должность у меня была адвокат дьявола.
Я на тебя бы хотел бы посмотреть, каак ты бы стал записывать математику, типа матриц 10 на 10 без операторов. Ты заолбаешься Писать V.Multiply(M);
V=V*M или V*=M; куда проще.
это утверждение верно, толлько оно не отменяет того факта, что матрицы нахрен не нужны. я например везде вижу деревья, но отнюдь не матрицы (разве что в опенгл гыгык).
Галюцинации?
http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WSS-4PYY823-J&_user=10&_coverDate=10%2F25%2F2007&_rd oc=1&_fmt=high&_orig=search&_sort=d&_doc anchor=&view=c&_acct=C000050221&_version =1&_urlVersion=0&_userid=10&md5=89379676 e52e39621683f697083d8075
Там просто пробелы он вставляет зачем-то... Если уж убрать, то нормально открывается.
Или так: http://tinyurl.com/corticalmaps
PS. Но сразу предупреждаю, что там матан нейробиология.
Или хоть пробелы не вставляет...
s1 = "preved";
s1 += "medved";
Ну разве не чудесно ?
webkill_string s1;
s1.append("preved");
s1.append("medved");
воистину, тут профит увидит только эмоциональная, падкая на сахар баба.
для некоторых людей наоборот неочевидно, что такое "сложение строк" (напр. vbnet2000)
вообще-то про сложность в каждой ветке начинаешь заливать именно ты! это не мой аргумент. я не считаю, что с++ сложен. вообще слово "сложность" полисемично, неизвестно, что имеется в виду. сложность бывает по недоразумению (тупо без особой цели запутано), сложность бывает по глубине абстракции и т. д. в с++ сложность скорее по недоразумению - желанию скрестить мамонта с рысью. а вот глубина абстрации в С++ довольно низка, по сравнению с ФЯ, просто ничтожна.
> Да, ленивые вычисления или декларативное программирование плюсам не по зубам
дело не в них, а в ООП. ООП с++ - говно.
RAII, шаблоны (метапрограммированиe лучше только в языках без статический типизации, а они сосут), Qt, производительность и низкое потребление памяти. Где ещё это всё есть? Хотя-бы два пункта из списка сразу?
И ООП в плюсах лучше, чем жабе, сишарпе, дельфи и пхп. Я уж не говорю про множественное наследование, которое нечасто, но нужно. И когда оно нужно его заменить тупо нечем, только тонны флудокода городить.
PS и с поддержкой юникода нет таких проблем, как у php. Если бы этот сайт был написан на плюсах, мне бы не пришлось править это сообщение с целью избавиться от глюков при отображении.
Сами себе придумали проблему, потом придумали костыль для решения и представляют это как мегаубойную фичу гыгы
> шаблоны
согласен, хотя реализация - как всегда...
> Qt
glib - наше всё
> производительность и низкое потребление памяти. Где ещё это всё есть? Хотя-бы два пункта из списка сразу?
в си :)
> И ООП в плюсах лучше, чем жабе, сишарпе, дельфи и пхп.
абсолютно такой же (разница - мелочи), только с говёной реализацией. в пхп вообще ООПа нету, хрень какая-то.
> Я уж не говорю про множественное наследование, которое нечасто, но нужно.
Не нужно. Это паттерн-заблуждение. Миксины/интерфейсы куда лучше.
> И когда оно нужно его заменить тупо нечем, только тонны флудокода городить.
Приведи пример. ЗА свою практикику мне ни разу не пригодилось. 99% случаев легко и просто реализуются через аггрегацию, просто те, которые юзат мно. насл., не тем местом (не в ту сторону) думают.
> PS и с поддержкой юникода нет таких проблем, как у php.
он работает не с code points?
>Сами себе придумали проблему
А сокеты/дескриптоды/конекшены за тебя Пушкин закрывать должен? А файлы временные за тебя слуги удалят? А документ юзеру в случае чего бекапить не надо?
>> шаблоны
>согласен, хотя реализация - как всегда...
Говорят, в clang они компилятся быстро и сообщения об ошибках красивше.
>в си :)
То один пункт был. Сдвоенный.
>> И ООП в плюсах лучше, чем жабе, сишарпе, дельфи и пхп.
>абсолютно такой же
Ну а какой тебе надо? Как в ерланге чтоли?
>Миксины/интерфейсы куда лучше.
Ну-ну. Они не лучше, они ограниченнее.
>Приведи пример. ЗА свою практикику мне ни разу не пригодилось. 99% случаев легко и просто реализуются через аггрегацию,
Вот тебе и пример. Вместо простого наследования ты городишь аггрегацию, и протаскиваешь методы изнутри наружу.
>он работает не с code points?
В данном случае мне похер что с чем работает. У меня полный десктоп c++ных программ с utf8, а буквы портятся только на говнокод.ру.
Имеешь ввиду ручно вытаскивание методов по типу адаптера?
А кто мешает сделать "родителя" простым свойством? Вот так:
myCoolObject.MyKakBySecondParent.Value = 10;
Это в случае с наследованием.
В случае с полиморфизмом - интерфейсы прекрасны. Ничего они не ограниченные. Обобщение классов по независимым, самодостаточным категориям - это тру. Я просто логически не могу представить, как объект может имметь два родителя. Я видел примеры, когда класс Автомоюбиль наследовал классы Колесо, Дверь и т. д. Авмтообиль это не дверь, а средство передвижения! Это логическое недоразумение и неопнимание происходящего. С интерфейсами это прекрасно: имеем произвольные, не имеющие зависимости, категории IHasWheels, IHasDoor и т. далее. и реализуем их. И далее аггрегация: myCar.Wheel.Name = "lala" и т. д.
Множ. насл. не нужно это бред.
Ты это в каком языке видел? С динамической типизацией? Они сливают по скорости, так что считай, что не видел.
бред несёшь, уди
Неасилятор? У тебя 2 родителя(Мама и Папа)? Вот и всё.
Вебкил думает, что это должен делать сам Пушков. Приходить дописывать код закрытия с безопасной обработкой исключений и уходить.
потому исключения - говнопаттерн. нужно возвращать просто из функции и всё. перед возвращением удаляешь объекты. что в этом сложного?
а теперь перечисли языки в которых такое есть...
Ага. В 12:33:35 по Гринвичу.
Болобол. Если ты выделил память из кучи, то может и не вызовется никогда.
В приложениях со сборкрй мусора в таком случае гарантировано, что "деструктор" будет вызван по крайней мере во время завершения приложения.
Сейчас я назову десяток языков и ты даже не сможешь отличить правду от лжи, зная лишь один.
Это ещё какой язык. Всё-то вы какие-то игрушечные языки называете...
У вас отсутсвует чувство уважения к себе и к своему труду.
нет
В дельфи.
C++\cli
Тут тебе и вся мощь сборки мусора и const и нормальные делегаты и фреймворк и полностью соответсвует стандарту С++ и даже generic есть.
Нухуя себе ты пиздабол!
И даже больше из-за CLI способностей.
Для него есть даже управляемый порт STL.
Плюс он поддерживает всякие фишки, типа дженериков, событий, делегатов, свойства и прочего синтаксического сахара из С#.
Есть даже то, что C# не поддерживает. Индексируемые свойства. Он даже без костылей NET Framework весь поддерживает.
ты на это убожество с закрытыми глазами смотрел? иначе бы заметил его полную неюзабельность... изза такого пиздеца С++\CLI даже индусы мелкосовта не вылазят из фейспалмов...
Есть возможность на С++ поиметь нереальную производительность с помощью шаблонов и снять ограничения и неудобства шаблонов через рефлекшен. Хотя использовать рефлекшен придётся со осторожностью, что-бы он не сьел весь профит от шаблонов.
Нереальное ускорение можно получить именно в тех областях, где раньше шаблоны были не применимы из-за своей ограниченности.
Рефлекшен позволяет находить самые смелые методы оптимизации через шаблоны.
такую лажу гонишь...
Ссыкатно, что я твой лисп не только по производительности, но и по возможностям метапрограммирования обойду?
ну попробуй обойди или ты ссыкливая обезьяна?
С++ и С++\CLI рулят немеренно во всех сферах.
Ты лишь на говнокоде горазд со своим VB.
ну так че ссыкливая крестоблядь, ты написал CAS? или уже сосешь хуйцы как киловаттный гидронасос?
Конечно, лови
Специально из SPD для тебя вынул
1)Первое передача по ссылке экземпляра класса foo; Его можно будет пересоздать заного. В С# это ref.
2)Затем передача по ссылке ещё не созданного экземпляра класса foo, который можно создать в функции;
3)И затем переменное число любых параметров.
Ты когда-нибудь видел что-бы так можно было делать в С++98?
А теперь перечисли мне языки, в которых нет такого уродстав?
Это как раз реализуется через множественное наследование. Покажика мне реализацию в других языках, где они есть? В том же C# их нет, тк нет множественного наследования.
Это твои родственники, Вебкиллушка?
В ней разводятся миноги.
Круглоротые — это рыбоподобные существа (вот такое обидное определение). Усики у них крошечные и на щупальца Ктулху совсем не похожи. У сома усы и то заметнее.
Привезено в старый сарай от предков.
Мудрый старый предок дышит
Каждое слово, которое сладкой благодати отголосок
Из твоего разума...
Когда семь солнц
Их пламя означало
Последнюю память
Мудрый предок не дышит.
Каждое слово, которое, гнилой мертвый отголосок
Из твоего разума...
Злые крокодилы,
Будут вас кусать,
Бить и обижать,
Не ходите, дети,
В Африку гулять.
А фразу я впервые услышал на радио.
Если ты про diary.ru, то неплохая блогоплатформа (вообще удивительно, как эта платформа выжила на фоне того, что даже «Яндекс» и «Mail.ru» закрыли свои блогоплатформы после введения антиблогерских законов), но я не блогер.
Инью, ты слышал?
ты эту ссылку ниасилил, уёб?
>> glib - наше всё
GLib — низкоуровневая библиотека, расширяющая возможности, предоставляемые стандартной библиотекой libc языка C. (wikipedia). Ты наверное имел в виду полудохлый GTK ? Так посмотри на возможности gnome И kde. Сравнил хрен с пальцем.
Сравнил. КДЕ+федора не запустилась ни на ноутбуке, ни в виртуалбоксе. Зато гном-убунту запустился. КДЕ - замечательная среда, там такие аляповатые шрифты и вообще всё, да ещё и не запускается - всё как я люблю
> Ты наверное имел в виду полудохлый GTK ?
открываем дистровотч, рейтинг дистров:
1. Ubuntu 10.04 - гном
2. Fedora 13 - гном
3. openSUSE 11.2 - кде
4. Debian 5.0.4 - гном
5. Linux Mint 9 - гном
на последнем издыхании, аха.
новые технологии - это такой эвфемизм к "свителки и перделки"?
я сидел под Кnoppix LiveCD с КДЕ (2005) на P200 с 64 мб оперативки...
назвать работой это сложновато, но запустилось...
хаха. у меня так-то запустилось, но были кучи артефкатров, все мерцало
я это считаю "не запустилось"
гном на тех же настройках запустился и летал...
То, что гном во многих дистрах выбран по умолчанию ни о чём не говорит. Го на лор искать опрос про DE. Естественно, KDE там лидирует с отрывом. Даже несмотря на то, что тогда плазма падала.
не вру, она просто зависала на загрузке - и всё (вбокс 3.1.4 вроде, щас апгрейдился до 3.2.4, но не проверился)
> То, что гном во многих дистрах выбран по умолчанию ни о чём не говорит.
говорит. с чего не говорит? хочешь сказать, они его от бадлы туда вставили? наверное они туда и ядро линукс от балды вставили? ядро линукс в этих дистрах тоже ни о чём не говорит (молчит и тихо себе работает, пока КДЕ и их любители пиздят о том как КДЕ крута и уверяют что ничо не падает).
> Го на лор искать опрос про DE. Естественно, KDE там лидирует с отрывом.
на лоре сидит очень неприятный контингент. плюс там одни программисты, а они смешивают интерфейс с удобством программирования. нужно смотреть опросы на сайтах для обычных людей. и не кому что больше нравится, а кто что больше использует.
Опросы на лоре мне ни о чём не говорят.
И это я слышу на говнокод.ру, омгф.
Лично для меня киллерфичами плюсов являются:
RAII
Ред Аллерт второй?
> Плюс плюсов именно в универсальности.
С одной стороны у тебя ООП, перегрузка операторов и прочие мощные средства построения логичного, читаемого кода бизнес-области.
> С другой стороны ты можешь спуститься до API операционки (который обычно бывает на C) и общаться с ним напрямую.
мамонт с рысью скрещен и является 3 по популярности языком программирования и при этом он содержит в себе достоинства обоих лидеров: низкоуровневость и объектно ориентированность...
давай-ка расскажи где твои ФЯ можно на практике применять, желательно с рабочими примерами...
он популярен не по тем заслугам, которые ты ему инкриминируешь, а только лишь из-за со своего compatibility с си. Т.е., например, виндовс виста была тем ещё говном, но её покупали, потому что она преемник популярной виндовс экспи. с++ популярен благодаря инертности мышления программистов и просто стечению обстоятельств. не по заслугам совершенно.
> давай-ка расскажи где твои ФЯ можно на практике применять, желательно с рабочими примерами...
а вот ФЯ непопулярны, потому что они не подходят в рамки интертного мышления простого программиста. если он сначала кодил на асме, потом на си, и когда повяились с++ и хаскель (или любой другой супермегазамечательный язык -- допустим, что появились одновременно), он бы в любом бы случае выбрал с++. с чего бы ему перестраиваться? это ведь мозг нужно напрягать.
с популярностью у тебя слабая аргументация, так же можно скаать что:
1) виндовс - замечательнейшая операционная система, потому что она популярна
2) лада - замечательнейший автомобиль, потому что популярен
3) дом2 - мегаацки пиздатый проект потому что... Догадайся почему.
Мейнстрим это не хорошо и не плохо, я ктому, что с++ популярен не благодаря своим каким-то качествам, а благодаря истории за его спиной.
http://langpop.com/
Ага. А потом захотелось пользоваться DirectX, а он объектный и тебе пришлось перейти на С++.
device->CreateTexture(...) для C++
и
D3DDevice9_CreateTexture( device, ... ) для С
работает только под виндов с, и иксбокс и ps3)
предрекаю, что скриптмейкеры вырвут себе глаза, когда узнают, что им вместо уютненького lua подсунули =)
нужно различть... например GOAP, radiant AI - там нужны скиллы, и они пиштся отнюдь не людьми без особого опыта программирования ...
Ты уже написал "убийцу ММОРПГ"? Или не стал из-за проблем с авторскими правами?
Цель ресурса пообсуждать что сделано правильно и что не правильно, как бы сделать лучше. Но уж никак не переходить на личности и опускаться до обсуждения какой язык лучше - возьмите линейку и раз и навсегда все решите ...
Но сейчас синтаксис вида [](int x) {return outer*x;} на мой взгляд вполне годен.
а с++ - что... как-то ни туда ни сюда
В игнор захотел?
И ме дехо соло син су амор.
Йорандо се фуэ
И ме дехо соло син су амор.
Соло эстара́ рекордандо эсте амор
Ке эль тьемпо но пуэрде боррар.
Соло эстара́ рекордандо эсте амор
Ке эль тьемпо но пуэрде боррар.
Mănunchi dă cer trăznet îmbată
Chezaş larg desfac în prugă
Tîlc lucitor mintea zăreşte
Zbor în zor' şî dor
Zdrobitor, izbăvitor
'N lume 'nălţător
Zmău zburător!
Bur dă ploaie m-a udat;
Frunzele-aşezat...
Şarpele bălăurel, cu solzii oţel,
Şarpele balaur, cu solzii faur
Ridicatu-s-a, dîn văi
Scuturatu-s-a, dă stele
Ai, alei, lei paralei!
Zmeii mei, zburaţi!
Dîncolo dă boltă asfinţită
'N zori dă ziuă năruită
'N chin dă noapte zămislită
Prîn fereastră
Ce-n al ei zbucium,
Stă nemurită
Sîlnica pămîntului
Găzdăbaşa dracilor
Gerunea pietrii pradă
Nămetenia malacă
Făţcăparea vrăjilor
Сначало жили даки. Потом пришли римляне - покорили даков. Потом рим развалился и дакский и латинский языки смешивались в течении 1500 лет. Потом эти чуваки очнулись и подумали ебать мы римляне. С тех пор они румыны.
https://en.wiktionary.org/wiki/poveste
https://ru.forvo.com/word/poveşti/#ro
Там есть интересные пары вроде «cuznéţ — fierar»: молдавский вариант заимствован у русских («кузнец»), румынский вариант — у римлян.
да, только вот если убрать фильр "объектно-ориентированный язык" и увидим, что простой си юзается в десятки раз больше. с++ во встраиваем. - это пистец каким цпполюбом быть, чтобы делать такое решенгие.
С++ во встраиваемом используют многие "распальцованные" компании. Уж не тебе ли указывать что им использовать ? Насчет мощи Си - я согласен. Разговор был про ООП.
void SomeMethod(void)
{
const int a, b;
//...
someContainer.SomeGroupOperation(boost:: bind(SomeCalculation, a, b, _1));
a++; b++;
someContainer.SomeGroupOperation(boost:: bind(SomeCalculation, a, b, _1));
//...
}
чем хуже?
...
const int a, &b;
...
... boost::bind(SomeCalculation, a, boost::ref(b), _1) ...
...
Лучше так.
https://cppinsights.io/s/7cfbda1b
Создаётся класс с перегруженным оператором (). Если там не чистая лямбда, а с замыканием (с захватом контекста), то ещё создаются приватные поля.