(21:00:05) valexey: size_t my_hash(A a)
{
return 42;
}
int main(void)
{
unordered_map<A,int,decltype(&my_hash)> m(0,my_hash);
(21:00:11) valexey: Быстро и грязно
(21:00:36) valexey: В качестве T тут int, можно поменять на любой другой тип - пофик
(21:00:49) egp: ну вот красиво я делал
(21:01:03) egp: а щас не помню как делал
(21:01:25) valexey: красивей без c++11 не выйдет :-)
(21:01:43) valexey: ну, можно конечно вместо хеш-функции использовать функциональный объект.
(21:01:46) egp: ну там не unordered_map был, а std::hashmap
(21:01:52) valexey: но не сказал бы что это красивей для данной задачи :-)
(21:02:38) egp: в каком компилере был <std::hashmap> я не помню
(21:03:11) egp: valexey: а где описано decltype?
(21:03:21) valexey: это ключевое слово, а что?
(21:03:22) egp: задекларировано
(21:03:26) valexey: в стандарте языка описано
(21:03:43) egp: ок. вот стандарты у С++ это огромный стафф
(21:04:01) egp: g++ тоже огромный стафф
(21:04:12) egp: ява значительно проще
(21:04:19) egp: оберон тоже
(21:04:49) egp: так что красота красоте рознь
(21:05:12) valexey: Если коротенько, то вот:
http://en.wikipedia.org/wiki/Decltype(21:05:13) valexey: :-)
(21:05:56) egp: valexey: короче я на C буду писать вместо С++
(21:06:12) valexey: гг. ну пиши на сях с классами, чо.
(21:06:45) egp: или вообще на ooc перелезть
(21:07:11) valexey: тоже дело
(21:07:31) egp: мне нужен язык для бутстрапа моего компилера
(21:08:17) egp: потому что С - та ещё скотинка нехорошая
(21:09:25) egp: не люблю неявности - они порок, мешают literate programming
(21:10:36) valexey: На Аде пиши - там основной слоган языка -- "все явно"
(21:11:15) egp: ща буду смотреть Аду.