- 论坛徽章:
- 0
|
using namespace std;
int main( int argc,char* argv[])
{
int array[]={2,3,5,7,9,8,};
//字太多,放不下,所以我只贴了一部分。这个文件如果用boost的foreach,宏展开后的文件是:24723行。
//对C++有些觉得可怕了。。。
cout<<"array={";
if (boost::foreach_detail_::auto_any_t _foreach_col = boost::foreach_detail_::contain( (array) , (true ? 0 : boost::foreach_detail_::or_( boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost::foreach_detail_::is_array_(array)) , (true ? 0 : boost::foreach_detail_::is_rvalue_( (true ? boost::foreach_detail_::make_probe(array) : (array)), 0))) , boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost_foreach_is_noncopyable( boost::foreach_detail_::to_ptr(array) , boost_foreach_argument_dependent_lookup_hack_value)) , boost_foreach_is_lightweight_proxy( boost::foreach_detail_::to_ptr(array) , boost_foreach_argument_dependent_lookup_hack_value)))))) {} else if (boost::foreach_detail_::auto_any_t _foreach_cur = boost::foreach_detail_::begin( _foreach_col , (true ? 0 : boost::foreach_detail_::encode_type(array, boost::foreach_detail_::is_const_(array))) , (true ? 0 : boost::foreach_detail_::or_( boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost::foreach_detail_::is_array_(array)) , (true ? 0 : boost::foreach_detail_::is_rvalue_( (true ? boost::foreach_detail_::make_probe(array) : (array)), 0))) , boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost_foreach_is_noncopyable( boost::foreach_detail_::to_ptr(array) , boost_foreach_argument_dependent_lookup_hack_value)) , boost_foreach_is_lightweight_proxy( boost::foreach_detail_::to_ptr(array) , boost_foreach_argument_dependent_lookup_hack_value)))))) {} else if (boost::foreach_detail_::auto_any_t _foreach_end = boost::foreach_detail_::end( _foreach_col , (true ? 0 : boost::foreach_detail_::encode_type(array, boost::foreach_detail_::is_const_(array))) , (true ? 0 : boost::foreach_detail_::or_( boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost::foreach_detail_::is_array_(array)) , (true ? 0 : boost::foreach_detail_::is_rvalue_( (true ? boost::foreach_detail_::make_probe(array) : (array)), 0))) , boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost_foreach_is_noncopyable( boost::foreach_detail_::to_ptr(array) , boost_foreach_argument_dependent_lookup_hack_value)) , boost_foreach_is_lightweight_proxy( boost::foreach_detail_::to_ptr(array) , boost_foreach_argument_dependent_lookup_hack_value)))))) {} else for (bool _foreach_continue = true; _foreach_continue && !boost::foreach_detail_::done( _foreach_cur , _foreach_end , (true ? 0 : boost::foreach_detail_::encode_type(array, boost::foreach_detail_::is_const_(array)))); _foreach_continue ? boost::foreach_detail_::next( _foreach_cur , (true ? 0 : boost::foreach_detail_::encode_type(array, boost::foreach_detail_::is_const_(array)))) : (void)0) if (boost::foreach_detail_::set_false(_foreach_continue)) {} else for (int& x = boost::foreach_detail_::deref( _foreach_cur , (true ? 0 : boost::foreach_detail_::encode_type(array, boost::foreach_detail_::is_const_(array)))); !_foreach_continue; _foreach_continue = true)
{
cout<<x<<",";
}
cout<<"\b}\n";
return 0;
}
|
[ 本帖最后由 gtkmm 于 2008-9-1 20:49 编辑 ] |
|