Сначала я думал, что они все одинаковые, но оказалось, что это неправильно. Так может кто-нибудь кратко объяснить различия между этими тремя? Например:
-
std::bind
(новейшее, следующее поколение С++) -
std::tr1::bind
(старый, расширение С++ std) -
boost::bind
(полностью отдельная библиотека)
или std::shared_ptr
, std::tr1::shared_ptr
и boost::shared_ptr
,... etc
Обновление
bind
, shared_ptr
являются примерами, которые помогают прояснить мой вопрос. Я хотел понять общие различия между этими тремя пространствами имен. Существует несколько библиотек, которые существуют во всех трех пространствах имен, и, по-видимому, bind
является одним из примеров, а также shared_ptr
.
В каких пространствах имен я должен придерживаться? Я лично предпочитаю библиотеку из std::
, так как это будет следующий стандарт С++ (С++ 0x).