Иногда легче сделать ручное управление памятью, нежели обмазываться-перемазываться shared/weak_ptr'ами. Логика не та.
*C++
Реквестирую умный греп: нужно найти по проекту все структуры в анонимных неймспейсах.
Джва часа проебался с непонятно как портящимся стеком и вообще полной пиздой от boost::optional, а оказалось, что программа линкуется с Boost 1.47, а optional юзает из 1.46.
Ебаный симейк.
Uniform initialization syntax тоже неговно, хоть с ним код еще понятнее и поддерживаемее:
emit userStatusChanged ({-1, 0, statusId, email, QString (), title, desc, features, ua});
Кстати, я сегодня ужрался немного коньяка и объяснял трем человека в коридоре, что c — говно, а c++ — не говно. При этом я был настолько убедителен, что они все мне поверили и отправились учить плюсы.
Впрочем, в одном Анализер был прав. Теперь и я вместо return Group_.isEmpty () ? QStringList () : QStringList (Group_); пишу
QStringList result;
if (!Group_.isEmpty ())
result << Group_;
return result;
недавняя кладка кирпичей от дедфуда навела меня на решение давнего вопроса
стиля кода. а именно как правильно писать:
T func(U param) {
if (param.bad())
return T();
T t;
// fill 't' with data
}
или
T func(U param) {
T t
if (!param.bad()) {
// fill 't' with data
}
return t;
}
после прочтения поста дедфуда, ... more →
Написал свой первый в жизни вариадик. Кончил.
Нужно сериализовать в особый формат наборы из всяких разных чисел и строк. Можно делать везде конкатенацию, типа, result = ToMRIM (num1) + ToMRIM (num2) + ToMRIM (shit) + ..., но это как-то криво. А с вариадиками все очень просто и охуенно:
QByteArray ToMRIM (const ... more →
Вот и пригодились вложенные лямбды:
auto idHasName = [&info] (const QString& name)
{ return std::find_if (info.Identities_.begin (), info.Identities_.end (), [&name] (decltype (*info.Identities_.begin ()) id) { return id.name () == name; }) != info.Identities_.end (); };
Эта маленькая локальная функция ищет среди ... more →
В общем, на предыдущий пост все равно никто не прореагировал, так что пишу разгадку: http://jabapls.ws/cpp-implicit-return-mo...
Недавние проблемы с implicit move ctor заставили меня чуток поковыряться в теме, и, в общем, в очередной раз было выяснено, что C++0x — ебаное непродуманное говно.
Рассмотрим две программы: http://paste.pocoo.org/show/525322/ и http://paste.pocoo.org/show/525323/ . Отличаются тремя строками кода, не имеющими ... more →
Всем читать/смотреть http://macton.posterous.com/roundup-rece... кто ещё не, особенно Typical C++ bullshit в картинках: http://macton.smugmug.com/gallery/893670...
Помня об уёбищности std::pair и о том, что переводить движок на C++11 никто в компании не собирается, гуглю "boost pair". Первый результат:
c++ — What is std::pair? — Stack Overflow
stackoverflow.com/questions/97948/what-is-stdpair
11 answers — 20 Mar 2009
.\_/.
Почитал камменты на cpp-next. Абрахамс какой-то улыбчивый, мягкий и неконфликтный дохуя, аж не вяжется с образом матерого плюсоеба.
Лямбды без вывода типов правда говно:
std::for_each (data→contactList.begin (), data→contactList.end (), [&allContacts] (const std::pair<std::string, MSN::Buddy*>& pair) { allContacts [pair.first] = pair.second→lists & (MSN::LST_AB | MSN::LST_AL | MSN::LST_BL); });
Ну и как там std::pair вывести бы самим?
А теперь вообще можно не писать обычных free-функций. http://paste.pocoo.org/show/523844/
интересно, а зачем делать синглтон через класс? фигачим нейспейс, если нужно рисуем функцию forceInit() которая делает lazy-load, и получаем тот же синглтон, причем:
1. уходит нахуй не нужный this => свободен один регистр и/или место в стеке
2. не производится лишний доступ к памяти (вместо this→x работает ::x) => ... more →
class Point: public Vector {
public:
Point(): Vector() {}
Point(double x, double y, double z): Vector(x, y, z) {}
Point(const Vector &V): Vector(V) {}
Point(const Point &P): Vector((const Vector&)P) {}
};
Вы всё ещё думаете что умеете делать typedef в цпп?
Я сейчас вам покажу фрагмент переписки code review моего кода. Программка в одном файле на 200 строк решает алгоритмическую задачку.
— [...] В мейн должна вызываться одна функция для чтения, одна для обработки, одна для вывода, можно в цикле.
— 11. Сделал что-то и по этому пункту, стало получше. Правда, вывод ... more →
посоны, а как вы обеспечиваете нужное время жизни ConstBufferSequence при async_send?
*C++ is used by:
0xd34df00d
0xd34df00d
Пахом
Pahom
Hirthwork McGillah
hirthwork
analizer
analizer
профессиональный говноед
ulidtko
werehuman
werehuman
0x2207
0x2207
няша
generatorglukoff
Mагог Магогович
magog
4DA
4da
dorfe
dorfe
Оранжевус Охуеннус
utros
gelraen
gelraen
Darth Bricktop
Like-all
jabber
jabber
kb
kb
16+
238328
Cthulhu
Cthulhu
Джордж Ричмонд
richmond
failman
failman
Crazy_Owl
Crazy_Owl
beardog
beardog
amd63
amd63
Monah Tuk
hatred
Nico-izo
Nico-izo
nobiiru
nobiiru
K900
K900
Лисий хвост
madInsane
SirAnthony
SirAnthony
Minoru
Minoru
chemikadze
chemikadze
anonymous_owl
anonymous_owl
Артём
astecenko
asmer
asmer
Anatoly Kalin
m4n71k0r
Дэш
dash
folex
folex
Maxim Kirenenko
part1zano
Ky6uk
Ky6uk
Michael Pogoda
MPogoda
taras
taras
18+ Запрещено для детей.
hedgehog
Andrew Motrenko
werdn
Артс
arts
Rejjin
Rejjin
proton
proton
eurekafag
eurekafag
Spiritual ecstasy
rapture
Enoh
Enoh
rogaboru
rogaboru
Thordendal
z56371410
mva
mva
Fess
zetoke
anoos
anoos
DOMr
DOMr
Bender Bending Rodríguez
DJm00n
Смерть Неизбежна
lHooFool
nexeuse
nexeuse
Илья Силаков-Волынский
iLeamare
nstm0
nstm0
Хотеть!
xotetb
Haomand
Haomand
RainerGomes
RainerGomes
lexszero
lexszero
0xd34df00d
Pahom
hirthwork
analizer
ulidtko
werehuman
0x2207
generatorglukoff
magog
4da
dorfe
utros
gelraen
Like-all
jabber
kb
238328
Cthulhu
richmond
failman
Crazy_Owl
beardog
amd63
hatred
Nico-izo
nobiiru
K900
madInsane
SirAnthony
Minoru
chemikadze
anonymous_owl
astecenko
asmer
m4n71k0r
dash
folex
part1zano
Ky6uk
MPogoda
taras
hedgehog
werdn
arts
Rejjin
proton
eurekafag
rapture
Enoh
rogaboru
z56371410
mva
zetoke
anoos
DOMr
DJm00n
lHooFool
nexeuse
iLeamare
nstm0
xotetb
Haomand
RainerGomes
lexszero