*c++

0xd34df00d 30.01.2013 23:02

Господа, мне тут стало лень писать const_range и range как два разных класса, поэтому я решил сделать так:
http://bpaste.net/show/dZ7VgTjo6VG2lPJSk...

Использование:
NGramRange<const T*> getFeatures() const { return NGramRange<const T*>(m_features, m_features + size()); }
NGramRange<T*> getFeatures() { return ... more →

c++
0xd34df00d 24.01.2013 13:38

Ух ты, только что пришло в голову, что можно std::min применять и на итераторах, например, std::copy(start, std::min(start + count, scores.end()), ...);
Мелочь, а приятно.

0xd34df00d 22.01.2013 02:43

Каждый раз, когда кто-то пишет reinterpret_cast, б-г убивает котенка.
Кажется, я сейчас убил кучу котят.

0xd34df00d 20.01.2013 21:29

Для того, чтобы поймать баг, воспроизводимый только в релизном билде, потребовалось в нужный if-clause добавить вызов функции примерно такого содержания:
void langCheck (volatile int lang)
{
volatile int i = lang;
i *= 2;
}
и ставить брейк по имени функции. Иначе компилятор все вы-оптимизировал насмерть.

0xd34df00d 20.01.2013 17:45

Вот кто мешал в Qt 4.8 сделать нормальную поддержку initializer_list искаропки? Нет же, приходится городить костыли вроде http://wstaw.org/m/2013/01/20/plasma-des...

Кстати, кдевелоп тут немножко просасывает с хайлайтом и парсингом.

0xd34df00d 20.01.2013 12:05

Убедиться, что шаблонный тип-функтор возвращает lvalue reference?
template<typename T, typename F>
auto UpdateData (const T& newData, F getter) → typename std::enable_if<std::is_lvalue_reference<typename std::result_of<F (MediaInfo&)>::type>::value, void>::type;

Нет, конечно же, можно написать ... more →

c++
0xd34df00d 20.01.2013 11:11

Сегодня плюсы меня ошарашили двумя днищами подряд просто.
Первое — что компилятор, похоже, выводит темплейтные типы «локально», не обращая внимания на остальные аргументы. Иначе http://liveworkspace.org/code/2RfcKl$0 , который чинится либо явным указанием <int>, либо явным указанием типа второго аргумента ... more →

0xd34df00d 18.01.2013 11:03

http://stackoverflow.com/questions/86708...
Вот почему в няшном хачкеле со всеми его RankN Polymorphisms и Undecidable instances все просто, а в плюсах — снова отсос?

0xd34df00d 17.01.2013 22:24

А gcc уже умеет инлайнить вызовы виртуальных функций в final-классах? Ну или хотя бы избавляться от vtbl.

gcc, c++
0xd34df00d 17.01.2013 13:43

А еще, похоже, мне пора начать обмазываться даташитами на процессоры и все такое.
По крайней мере, похоже, для вещи типа
char ch = ...
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
something = true;
gcc генерит жутко неоптимальный код из кучи cmp/jz, которые сбивают нахер бранч предиктор.

В результате ... more →

0xd34df00d 17.01.2013 13:14

std::find отсасывает у strchr с проглотом (4.8 секунды против 0.79). Хотя, казалось бы, инлайн, оптимизации компилятора и все такое.

0xd34df00d 16.01.2013 14:30

Я уже, конечно, ныл об этом, но плюсцы снова соснули, в частности, с невозомжностью вывода типа T в какой-нибудь такой функции:

template<typename T>
Phonon::MediaSource GetRandomBy (QList<Phonon::MediaSource>::const_iterator, std::function<T (MediaInfo)>);

по такому вызову:

GetRandomBy (sources, [] (MediaInfo t) ... more →

0xd34df00d 11.01.2013 15:44

Применяют ли современные компиляторы copy elision для функции типа
foo (T t)
{
vec [somePos] = t;
}
?

Имеет ли смысл здесь писать const T& вместо T, иными словами?

0xd34df00d 11.01.2013 10:32

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

0xd34df00d 10.01.2013 23:43

Уже два часа открываю файл с рабочим проектом, думаю, как легко было бы реализовать алгоритм на функциональщине, а не на мерзких плюсцах с еблей и говном, закрываю файл и прокрастинирую.
Тут тоже надо найти куда нажать, чтобы починить.

0xd34df00d 10.01.2013 16:16

Написание auto foo = ... вместо const auto& foo = ... может привести к деградации производительности в 30 раз.
Обожаю этот язык.

0xd34df00d 08.01.2013 20:59

Алексей Бугуртовой.

/b/, c++
0xd34df00d 08.01.2013 01:14

Благодаря #tioego прикрутил деманглинг неизвестных имен в неуспешно загруженной библиотеке, что одна из самых распространенных ошибок при погромировании под личкрафты:
[08.01.2013 05:10:13.279] [0x1d1eaf0] [008] Could not load library /usr/local/lib64/leechcraft/plugins/libleechcraft_gmailnotifier.so; Cannot load ... more →

0xd34df00d 04.01.2013 00:05

Краткий смысл в том, что фирма Microsoft изначально не ставила задачу обеспечения работы STL в DLL. В связи с этим, STL содержит код, приводящий к вышеописанным проблемам. Связано это с наличием статических членов в классах, что приводит к разным неприятным последствиям при пересечении указателя или ссылки на ... more →

0xd34df00d 29.12.2012 11:52

Попробовал закоммитить из KDevelop'а. Жить можно, но таки из сосноли удобнее.

0xd34df00d 26.12.2012 11:58

Получил замечательный опыт рефакторинга кода, которому >5 лет и который знатно оброс говном и костылями. Чувствую, будто меня год валяли в грязи и перьях, а теперь я наконец-то помылся.

0xd34df00d 26.12.2012 00:07

2.5 килобайта плюсокода делает коредамп на 662 метра.

0xd34df00d 20.12.2012 22:54

Охуеть, только заметил, что даже в достаточно сложных конструкциях gcc ругается, если write в переменную есть, а read'а из нее потом нет. До чего статический анализ дошел, а.
Правда, уже if (false) { smth } обламывает все эвристики.

0xd34df00d 19.12.2012 22:12

Добавил новый тип в boost::variant, получил ошибок на no known conversion и прочее подобное счастье столько, что они не вмещаются в скроллбек-буфер Konsole, а KDevelop от них завис насмерть.
Люблю плюсы.

0xd34df00d 18.12.2012 21:32

Комбайн уровня LC → http://dlib.net/

Do you really want to delete ?

*c++ is used by:

0xd34df00d

0xd34df00d

Пахом

Pahom

Hirthwork McGillah

hirthwork

analizer

analizer

werehuman

werehuman

0x2207

0x2207

няша

generatorglukoff

4DA

4da

dorfe

dorfe

gelraen

gelraen

Darth Bricktop

Like-all

Rayslava

kb

kb

jabber

jabber

16+

238328

Cthulhu

Cthulhu

failman

failman

Crazy_Owl

Crazy_Owl

beardog

beardog

SirAnthony

SirAnthony

amd63

amd63

Monah Tuk

hatred

Nico-izo

Nico-izo

nobiiru

nobiiru

K900

K900

anonymous_owl

anonymous_owl

Артём

astecenko

asmer

asmer

Minoru

Minoru

chemikadze

chemikadze

Артс

arts

Anatoly Kalin

m4n71k0r

Дэш

dash

folex

folex

Maxim Kirenenko

part1zano

Ky6uk

Ky6uk

Michael Pogoda

MPogoda

taras

taras

nstm0

nstm0

Хотеть!

xotetb

Haomand

Haomand

RainerGomes

RainerGomes

lexszero

lexszero

proton

proton

Rejjin

Rejjin

eurekafag

eurekafag

Enoh

Enoh

rogaboru

rogaboru

kuroneko

Thordendal

z56371410

mva

mva

Fess

zetoke

anoos

anoos

DOMr

DOMr

sayafag

nexeuse

nexeuse