C++相談室 part71
■ このスレッドは過去ログ倉庫に格納されています
0706デフォルトの名無しさん
2009/08/18(火) 20:37:14Boost本家スレで
773 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/28(火) 20:59:38
BOOST_PREVENT_MACRO_SUBSTITUTION
っていうマクロはどういった用途で使う(or使われている)のでしょうか?
そもそも定義されている部分すら見つけられません。。。
774 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/28(火) 22:14:07
boost/config/suffix.hpp にあるよ
775 名前:デフォルトの名無しさん[sage] 投稿日:2009/07/28(火) 22:15:44
>>773
prefix.hppで定義されてる
使い方は,たとえば某MSのヘッダファイルのように
#define min(a,b) ...
#define max(a,b) ...
と定義されてあった場合,
std::min(lhs, rhs) や std::max(lhs, rhs) や std::numeric::limits<hoge>::max()
などの min, max がマクロで置換されてしまうけど,
std::min BOOST_PREVENT_MACRO_SUBSTITUTION (lhs, rhs)
と呼び出せばこれを防げる.
つっても,冗長すぎるから普通は(std::min)(lhs, rhs)ってやるけどNE
776 名前:773 [sage] 投稿日:2009/07/28(火) 22:25:46
ありがとうございます。
理解出来ました!
てな会話が行われていたよ。
■ このスレッドは過去ログ倉庫に格納されています