наследование таблиц классов с переопределением атрибута

Это не примитивное значение, поэтому его конструктор и / или деструктор могут иметь желаемые побочные эффекты.

Чтобы проиллюстрировать это, это происходит на практике: я использую класс для временных разделов кода, который выглядит примерно так:

class Timed {
    double start;
    public:
        Timed() { start = now(); }
        ~Timed() { std::cout << (now() - start) << '\n'; }
}

Итак, чтобы измерить, сколько времени занимает функция, я просто делаю:

void slow() {
    Timed t;
    // heavy operation here...
}

Переменная t никогда не используется, но она по-прежнему важна к поведению кода.

0
задан Moosjes 18 January 2019 в 10:10
поделиться