Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

用法

是否使用原生的 TR1 庫
頭文件包含風格
編寫代碼

在使用 Boost.TR1 庫之前,有兩件事情你必須要決定:是否使用你的標準庫中的原生 TR1 實現(如果有的話),以及使用哪一種頭文件包含風格。

是否使用原生的 TR1 庫

如果你的標準庫實現了 TR1,而你也想使用它,而不是使用 Boost 的等價物,那麼你就需要一些動作來使用它:這些動作可能是一個預處理器的定義,可能是一個特定的編譯器開關,或者是一個不同的包含路徑。你需要查看你的編譯器文檔,找到你需要做的相應動作。

已提供的 Boost 是 正確配置的,所有東西都是"可以立即使用"的,為使用 Boost.TR1 所編寫的代碼將包含你的標準庫中的原生頭文件而不是 Boost 的頭文件。

頭文件包含風格

你有兩種方法來包含 Boost.TR1 頭文件,例如,如果你想用 shared_ptr,則你可以寫:

#include <boost/tr1/memory.hpp>

或者:

#include <memory>

在其它 Boost 庫中使用時,第一種方式是首選的方法。第二種方式則是符合標準的,不過要求你將 boost-install-path/boost/tr1/tr1 添加到你的編譯器的頭文件查找路徑中。注意,你不能將 boost/tr1/tr1 中的頭文件複製到 "include" 目錄下,那樣做會使得它們無法工作。

無論如何設置頭文件包含路徑,編寫使用 Boost.TR1 的用戶代碼與編寫使用原生 tr1 實現的代碼是一樣的。即,對類和函數的引用必須顯式使用 std::tr1 名字空間或 使用一個 using std::tr1 語句。例如:

std::tr1::tuple<int, std::string> t = std::tr1::make_tuple(10, "hello");

using std::tr1;
tuple<int, std::string> t = make_tuple(10, "hello");

Copyright © 2005 John Maddock

PrevUpHomeNext