私はstlportと呼ばれるライブラリを使用しています。これは、次のstd
ように名前空間 を再定義します。
# if defined (_STLP_REDEFINE_STD)
/* We redefine "std" to "stlport", so that user code may use std:: transparently */
# undef std
# define std STLPORT
# else
このため、コード内で使用しようとすると、どこでも。std::something
に置き換えられ_STLP::something
ます。
行をコメントアウトする#define std STLPORT
と、レガシープロジェクトのコードはコンパイルされません(stlportに依存します)。
行をコメントアウトしないと、追加しようとしている新しいライブラリは、std::
stlportが使用するものとは異なるアロケータのセットで使用されるため、コンパイルされません。衝突を入力します。
#define STLPORT std
新しいライブラリを含める直前に一列に並べ てみましたが、この#defineは機能していないようです。
このように再定義されたノーマルを使用する方法はありstd
ますか?