- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
template<typename T,typename FIELD_T>
struct type_has_field{
typedef char yes_type;
struct no_type{char padding[8];};
template<class U>
static yes_type check_sig1(
U*,
FIELD_T(U::*)=&U::field // !!!Most importantly!!!
);
template<class U>
static no_type check_sig1(...);
static const bool value=sizeof(check_sig1<T>(0))==sizeof(yes_type);
};
>Ах да, это все крестопроблемы.
с другой стороны мудачество стандартизаторов, которые и не секунды не пытаются облегчить жизнь тех кому это надо реализовывать, удручает. а надо бывает.
это те моменты когда я желаю что бы Objective-C++ задавил все остальные варианты С/С++: вот тебе и динамика, вот тебе и статика. взболтаный, но не смешаный.
Кстати, где пример кода на этом языке можно посмотреть? Видел ссылку с вики на этот язык, мол этот язык есть, но статья об этом языке отсутствует.
Или это такая тонкая шутка википидоров о том, что С++ как бы не особо объектный?
И нет тут никакой динамики: это статическая compile-time проверка. Думаешь, что нужна динамика - подумай, действительно ли она нужна? Действительно нужна динамика - не рассматривай C/C++ в качестве языка реализации.
"GameDev.ru - разработка игр. В govnokod.ru НЕ ЗАНОСИТЬ!!!"
Каково, по вашему мнению, необходимое и достаточное
качество и количество параметров метода/функции, при котором необходимо(по самым разным причинам) объединять их(параметры) в _меньшее_количество_ , используя встроенные/пользовательские типы данных.
Например:
https://github.com/negativ/eiskaltdcpp/blob/master/dcpp/SearchManager.h
Ошибки достали... Я ни одного сайта не видел с таким кол-вом сбоев... Почему этот пользователь, написавший столько говнокода, до сих пор не выложил ни одного?