@hirthwork

Тег c++11 в блоге hirthwork

hirthwork
11 Jun 2014
hirthwork

http://ideone.com/gIM8lE </thread><!-- да, я знаю в чём здесь дело, нехуй капитанить -->

hirthwork
05 Apr 2014
hirthwork
hirthwork
02 Apr 2014
hirthwork

0xd34df00d, а ты cbegin() и cend() используешь повсеместно или только там где нужно от неконстантного объёкта итератор получить?

hirthwork
02 Apr 2014
hirthwork
hirthwork
25 Mar 2014
hirthwork

В продолжение #cbnq. Найден ответ почему C++ искаропке не предоставляет template <typename T> hash<set<T>>;
Всё достаточно просто. Вот создаёшь ты, скажем, unordered_set<string> и тут понимаешь, что стандартный hash тебя не устраивает, а нужен тебе, скажем, fnv64
Пишешь unordered_set<string, my_fnv_hash> и всё, ёпт.
А теперь возьмём unordered_set<set<string>>. Захотелось заменить на fnv64 и тут нас ждёт облом.
Первая идея написать типа такого: template <typename T, typename Hash = hash<T>> struct hash<set<T>>;
Вот только hash определён как шаблон с одним шаблонным типом. Никто почему-то не догадался сделать template <typename... Args> struct hash;, а теперь, с принятым стандартом никто уже и не попытается это сделать. Закапывайте.

hirthwork
23 Mar 2014
hirthwork

Нижеприведённый код является эталоном именования структур, методов и переменных.
Дискас.

class storage {
    // ...
    struct file* file(std::string name) const {
        auto file = files.find(name);
        if (file == files.end()) {
            return 0;
        } else {
            return &file->second;
        }
    }
};
hirthwork
16 Apr 2013
hirthwork

наконец-то нашёл годную доку поясняющую по хардкору про все эти ваши memory_order_seq_cst, memory_order_relaxed и пр. http://gcc.gnu.org/wiki/Atomic/GCCMM/AtomicSync куда понятнее чем стандарт

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.