hirthwork 28.01.2013 17:59 mcabber

как нынче модно в C++03 проверять то что объект — default constructible и copy constructible?

c++, ?
1. Myp 28.01.2013 18:20 Azoth

Когда выяснишь дай знать

2. hatred 28.01.2013 23:49 Psi+

про модно не знаю, мне пришлось в голову только что-то вроде:

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 нет :)

3. hatredhatred /2 28.01.2013 23:59 Psi+

вот кстати ещё, от 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...

4. hirthworkhatred /2 29.01.2013 01:25 talkonaut-iphone_5.91_67b1c873

ты вопрос-то понял?

5. hirthworkhatred /3 29.01.2013 01:33 talkonaut-iphone_5.91_67b1c873

ты действительно не понимаешь разницы между default constructible и trivial constructible?

Do you really want to delete ?