#pragma region是Visual C++中特有的预处理指令。它可以让你折叠特定的代码块,从而使界面更加清洁,便于编辑其他代码。折叠后的代码块不会影响编译。你也可以随时展开代码块以进行编辑等操作。
格式:#pragma region name
/*
***********
*/
#pragma endregion comment 如上边所示,需要折叠的代码必须包含在#pragma region和#pragma endregion之间。#pragma region和#pragma endregion之后可以添加一些用来注释的文字。当你折叠代码块后,这些文字会显示在折叠的位置。 举个实际例子:#pragma region 类型/函数
//boost type micro
#define BOOST_TCP_SOCKETboost::asio::ip::tcp::socket
#define BOOST_TCP_ACCEPTORboost::asio::ip::tcp::acceptor
#define BOOST_TCP_ENDPOINTboost::asio::ip::tcp::endpoint
#define BOOST_TCP_IPV4boost::asio::ip::tcp::address_v4
#define BOOST_TCP_RESOLVERboost::asio::ip::tcp::resolver
#define BOOST_IO_SERVICEboost::asio::io_service
#define BOOST_ERROR_CODEboost::system::error_code
#define BOOST_PLACE_HOLDERboost::asio::placeholders
#define BOOST_SHARE_PTRboost::shared_ptr
#define BOOST_FUNCTION_0boost::function0
#define BOOST_FUNCTION_3boost::function3
#define BOOST_THREADboost::thread
//boost function micro
#define BOOST_ASIO_ASYN_READboost::asio::async_read
#define BOOST_ASIO_ASYN_WRITEboost::asio::async_write
#define BOOST_ASIO_ASYN_CONNECTboost::asio::async_connect
#define BOOST_ASIO_BUFFERboost::asio::buffer
#define BOOST_ASIO_TCP_IPV4_FROM_STRboost::asio::ip::address_v4::from_string
#define BOOST_ASIO_TCP_V4boost::asio::ip::tcp::v4()
#define BOOST_BINDboost::bind
#pragma endregion 类型/函数 折叠代码块的方法:如同Visual C++中折叠函数、类、命名空间,当代码被包含在如上所述的指令之间后,#pragma region这一行的左边会出现一个“-”号,单击以折叠内容,同时“-”号会变成“+”号,再次单击可以展开代码块。
注意:此预编译指令在Visual Studio 2005及以上版本可以使用。但是在Visual Studio 2005中,当#pragma region之后包含类似“1st”这类的文字,会导致“error C2059: syntax error : 'bad suffix on number'”的编译错误。避免使用数字或者将数字与字母分离可以解决这个问题。
|