как нынче модно в C++03 проверять то что объект — default constructible и copy constructible?
Когда выяснишь дай знать
про модно не знаю, мне пришлось в голову только что-то вроде:template <typename T> struct _check_default_and_copy_constructable { _check_default_and_copy_constructable() { T value1; volatile T value2(value1); } };#define check_default_and_copy_constructable(clazz) {_check_default_and_copy_constructable<clazz> _check;}вызывать как: check_default_and_copy_constructable(class_name);Вот такой пример: http://pastebin.com/Y9k35SeU даёт такой выхлоп при компиляции: http://pastebin.com/1esStPJkМыслей, как сделать это в runtime нет :)
вот кстати ещё, от boost: http://www.boost.org/doc/libs/1_42_0/lib... и http://www.boost.org/doc/libs/1_42_0/lib...ну и дальше по ссылкам, типа: http://www.boost.org/doc/libs/1_42_0/lib... и http://www.boost.org/doc/libs/1_42_0/lib...
ты вопрос-то понял?
ты действительно не понимаешь разницы между default constructible и trivial constructible?
Когда выяснишь дай знать
про модно не знаю, мне пришлось в голову только что-то вроде:
template <typename T>
struct _check_default_and_copy_constructable
{
_check_default_and_copy_constructable()
{
T value1;
volatile T value2(value1);
}
};
#define check_default_and_copy_constructable(clazz) {_check_default_and_copy_constructable<clazz> _check;}
вызывать как:
check_default_and_copy_constructable(class_name);
Вот такой пример: http://pastebin.com/Y9k35SeU даёт такой выхлоп при компиляции: http://pastebin.com/1esStPJk
Мыслей, как сделать это в runtime нет :)
вот кстати ещё, от boost: http://www.boost.org/doc/libs/1_42_0/lib... и http://www.boost.org/doc/libs/1_42_0/lib...
ну и дальше по ссылкам, типа: http://www.boost.org/doc/libs/1_42_0/lib... и http://www.boost.org/doc/libs/1_42_0/lib...
ты вопрос-то понял?
ты действительно не понимаешь разницы между default constructible и trivial constructible?