В чем разница между std, tr1 и boost (как пространства имен и / или библиотеки)?

Сначала я думал, что они все одинаковы, но оказалось, что это не так. Можно ли вкратце объяснить различия между этими тремя? Например:

  1. std :: bind (новейший, следующее поколение C ++)
  2. std :: tr1 :: bind (старый, расширение C ++ std)
  3. boost :: bind (полностью отдельная библиотека)

или std :: shared_ptr , std :: tr1 :: shared_ptr и boost :: shared_ptr ,. ..etc

Обновление

bind , shared_ptr - это примеры, которые помогают прояснить мой вопрос.Мое намерение состояло в том, чтобы понять общие различия между этими тремя пространствами имен. Есть несколько библиотек, которые существуют во всех трех пространствах имен, и очевидно, bind является одним из примеров, а также shared_ptr .

Каких пространств имен мне следует придерживаться? Лично я предпочитаю библиотеку из std :: , так как это будет следующий стандарт C ++ (C ++ 0x).

32
задан Yu Hao 15 August 2017 в 08:08
поделиться