0xd34df00d
02.12.2011 23:04
Олсо, меня действительно делают очень печальной пандой люди, считающие, что использование STL, буста и прочих темплейтов делает программу более сложной и непонятной.
С другой стороны, хорошо, что они все локализуются в проектах типа QutIM, поэтому их можно игнорировать всем скопом.
0xd34df00d
29.11.2011 12:47
Блин, после хаскеля даже думать лениво начинаешь. А C++ eager, и не получится передать аргумент в функцию так, чтобы он был вычислен, только если действительно понадобится функции. :((((((((((((
0xd34df00d
19.11.2011 00:40
Ну хаскель же!
const QStringList& folders = std::accumulate (sync.begin (), sync.end (), QStringList (), [] (const QStringList& fs, const QStringList& f) { return fs + QStringList (f.join ("/")); });
Правда, на х-ле покороче бы было, и существенно.
0xd34df00d
14.11.2011 12:21
Очень хорошо себе в ногу выстрелил щас.
Был тривиальный геттер, возвращавший некий контейнер по значению. std::for_each (obj→GetList ().begin (), obj→GetList ().end, ...) работало как говно — падало и совершало многовато итераций вообще.
Очевидно, потому, что контейнер, блять, копировался каждый раз, и begin был ... more →
0xd34df00d
13.11.2011 23:56
Умел бы std::unique_ptr требовать делитер в точке вызова деструкта ptr'а, а не инстанциирования, как это умеет shared_ptr, цены бы ему не было.
0xd34df00d
13.11.2011 16:35
Стратегии владения говно.
0xd34df00d
13.11.2011 14:19
Axioms делают из моих плюсцов какое-то хаскельблядство.
0xd34df00d
12.11.2011 14:44
gccбляди соснули. Class member initialization есть только в 4.7.
0xd34df00d
12.11.2011 12:43
Из других ништяков — теперь для того, чтобы передать в функцию список из одного элемента, можно не писать уебищное Func (QList<SomeType> () << var), а просто воспользоваться Func ({ var }). Правда, похоже, завязка на Qt 4.8, ибо более ранние cannot into initializer lists, ну и похуй.
0xd34df00d
12.11.2011 10:43
А как в этом вашем C++0x сделать шаблонную функцию от шаблонного аргумента типа T, которая имела бы одно тело, если у T есть какой-то метод, и иначе — другое? Изъебываться с type traits неохота. Есть C++0x в объеме, поддерживаемом gcc 4.5.
0xd34df00d
12.11.2011 10:27
Кстати, strongly-typed enums — неговно. Больше не нужно изобретать недовенгерку в виде членов типа enum AccountCreationFeatures { ACFSupportsRegistration };. Можно сделать enum class AccountCreationFeatures { SupportsRegistration };, а потом везде
AccountCreationFeatures::SupportsRegistration. Уняня.
0xd34df00d
11.11.2011 22:22
Сообщения об ошибках — это правда какой-то пиздец. Делаю std::transform в функции-члене, лямбда в котором должна дергать другую функцию-член этого класса.
С таким выражением (забыл this закапчурить):
std::transform (messages.begin (), messages.end (), std::back_inserter (newMessages), [] (decltype (messages.front ... more →
0xd34df00d
11.11.2011 21:22
Начинаю потихонкьу привыкать к уебищной няшности (или к няшной уебищности?) C++0x:
auto pos = std::remove_if (messages.begin (), messages.end (), [] (const vmime::ref<vmime::net::message>& msg) { return msg→getFlags () & vmime::net::message::FLAG_SEEN; });
messages.erase (pos, messages.end ());
0xd34df00d
10.11.2011 14:34
Посоны, мне сделали предложение, от которого я не могу отказаться. Реализовать в KDevelop поддержку х-ля.
0xd34df00d
09.11.2011 17:27
Посоны, Breaking News! Boost нужен для лучшего управления памятью и улучшения штучек из STL.
Это я пообщался с одним руководителем QtDesktop.
0xd34df00d
09.11.2011 00:14
Написал свою первую действительно нужную в типа-продакшене лямбду:
vmime::string id = ...;
auto pos = std::find_if (messages.begin (), messages.end (), [id] (const vmime::ref<vmime::net::message>& message) { return message→getUniqueId () == id; });
Проблевался.
0xd34df00d
09.11.2011 00:12
C++0x: матюги на лямбды и auto теперь понятны, как никогда.
ЕВПОЧЯ.
0xd34df00d
07.11.2011 23:14
С таким-то синтаксисом и auto нахуй не нужен. Никакого, блять, вывода типов.
У меня ПОЛНЕЙШЕЕ РАЗОЧАРОВАНИЕ. C++ как был чашей говна, так и остался.
0xd34df00d
07.11.2011 23:12
Блять, парсер в KDevelop range-based for поддерживает, а GCC 4.5 — нет. Ну нахуй так жить?
0xd34df00d
30.10.2011 10:55
Охренеть, оказывается, можно писать !boost::bind (f, ...) вместо пиздецом из boost::bind (std::logical_not (), boost::bind (f, ...));
0xd34df00d
29.10.2011 20:52
Я фанбой. Фанбой плюсов. Я испытываю гордость от того, что знаю этот сраный язык и пишу на нем.
0xd34df00d
28.10.2011 15:15
Введение в GADT на хаскельвики повеяло темплейтами.
0xd34df00d
27.10.2011 09:35
Открыл какой-то рандомный проект из избранных Евгением в рамках инициативы Qt Desktop. На второй секунде просмотра исходников глаз зацепился за uint setupCompleted : 1; или типа того вместо була.
Закрыл к хуям.
0xd34df00d
26.10.2011 15:04
Кто-то ругался на сообщения об ошибках в темплейтах? Латех не лучше:
(/usr/share/texmf-dist/tex/latex/program/program.sty
! No room for a new \dimen .
\ch@ck ...\else \errmessage {No room for a new #3}
\fi
l.89 ...\@gtempa\newdimen\@gtempa\newdimen\@gtempa
\newdimen\@gtempa
?
Охуенно, блять, информативно.
0xd34df00d
25.10.2011 15:50
Передаю @Elena'е по жабберам книгу Банды Четырех со скоростью, похоже, 2 КиБ/с. Книга 20 метров весит.
Ностальгия по диалапу, уняня.