C++: has_trivial_X вводят черты

Да, Вы используете методы экземпляра. Статические методы в основном говорят, "Существует один способ выполнить эту функциональность - это не полиморфно". Насмешка полагается на полиморфизм.

Теперь, если Ваши статические методы логически не заботятся, о какой реализации Вы используете, они могли бы быть в состоянии взять интерфейсы в качестве параметров, или возможно работать, не взаимодействуя с состоянием вообще - но иначе необходимо использовать экземпляры (и вероятно внедрение зависимости для проводного соединения всего вместе).

6
задан Georg Fritzsche 5 October 2009 в 11:24
поделиться

1 ответ

Определение типа POD было ослаблено в C ++ 0A.

Тип может иметь нетривиальный конструктор, но может иметь тривиальный оператор присваивания.

Например,

struct X
{
    X() : y( -1 ) {}
    X( int k, int v ) : y( k * v ) {}

    int y;
};

] X можно было бы скопировать в память, но не тривиально.

6
ответ дан 17 December 2019 в 02:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: