LINUX.ORG.RU

Сообщения zombiegrinder_6000

 

Ограничение 30 секунд на MySpace

Форум — Talks

А с каких пор на MySpace ограничивают музыку тридцатью секундами? Это первоапрельская шутка, или что?

zombiegrinder_6000
()

Странное поведение итераторов в Qt

Форум — Development

При компиляции этого кода выводится неправильный результат:

#include <QtCore/QList>
#include <QtCore/QtAlgorithms>
#include <QtCore/QtDebug>

int main()
{
    QList<int> vec;
    // vec.end(); // (1)
    qDebug() << (vec.end() != qFind(vec, 4));
    qDebug() << (qFind(vec, 4) != vec.end());
}
true
false

Если раскомментировать строку (1), сделать контейнер непустым или использовать QVector, выводится правильный результат. При использовании второго варианта qFind(vec.begin(), vec.end,...) программа работает правильно.

Это я что-то делаю неправильно, ошибка в Qt или документированное неопределенное поведение?

zombiegrinder_6000
()

Почти дефолтный Gnome 3

Галерея — Скриншоты

Вот так вот выглядит Gnome 3, запущенный не в виртуалке. Пока делал скрины - оценил удобство Gnome Shell'а. Косяков тоже хватает, например диалог открытия файла в Firefox выглядит очень странно. Возможно все не так плохо, как показалось после запуска Gnome 3 в VirtualBox.

>>> Просмотр (1280x1600, 828 Kb)

 , ,

zombiegrinder_6000
()

find и ctime

Форум — General

У меня возникла странная проблема. Есть каталог ~/tmp, куда я сваливаю разный мусор. Каждый день по крону запускается такая команда:

find ~/tmp ! -type d -ctime +10 -delete
find . -mindepth 1 -depth -type d -empty

т.е. удаляются файлы с датой изменения старше 10 дней и пустые каталоги. Недавно я обнаружил что уже давно лежит каталог «~/tmp/gcc-1.21/libtemp» с файлами, и никак не удаляется. Дата модификации файлов ~1987 год, дата изменения точно совпадает с датой последнего запуска крона. При запуске скрипта вручную ctime обновился еще раз, но больше обновлятся не хочет (наверное времени мало прошло). Может ли find каким-то образом менять ctime файлов?

zombiegrinder_6000
()

Отладка утечек памяти в gobject

Форум — Development

Здесь описан способ отладки подсчета ссылок в GObject. То есть нужно в каком-то месте остановить программу и командой set присвоить переменной g_trap_object_ref значение нужного объекта. Проблема в том, как получить доступ к static-переменной в файле gobject.c. Такой способ не работает:

set 'gobject.c'::g_trap_object_ref = my_object
Left operand of assignment is not an lvalue.
zombiegrinder_6000
()

Шаблонное программирование в C++ и хвостовая рекурсия

Форум — Development

Есть ли смысл при программировании на шаблонах применять хвостовую рекурсию?

Например, что лучше:

template <int n>
struct Fac
{
    enum { result = n * Fac<n - 1>::result };
};

template <>
struct Fac<0>
{
    enum { result = 1 };
};

или

template <int n>
class TailFac
{
    template <int counter, int mul>
    struct TailFacIter
    {  
        enum { value = TailFacIter<counter - 1, mul * counter>::value };
    };

    template <int mul>
    struct TailFacIter<0, mul>
    {  
        enum { value = mul };
    };

public:
    enum { result = TailFacIter<n - 1, n>::value };
};

Даст ли второй подход меньшее потребление памяти и большую скорость компиляции?

zombiegrinder_6000
()

RSS подписка на новые темы