#pragma region

#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_SOCKET					boost::asio::ip::tcp::socket
#define  BOOST_TCP_ACCEPTOR					boost::asio::ip::tcp::acceptor
#define  BOOST_TCP_ENDPOINT					boost::asio::ip::tcp::endpoint
#define  BOOST_TCP_IPV4						boost::asio::ip::tcp::address_v4
#define  BOOST_TCP_RESOLVER					boost::asio::ip::tcp::resolver
#define  BOOST_IO_SERVICE					boost::asio::io_service
#define  BOOST_ERROR_CODE					boost::system::error_code
#define  BOOST_PLACE_HOLDER					boost::asio::placeholders
#define  BOOST_SHARE_PTR					boost::shared_ptr
#define  BOOST_FUNCTION_0					boost::function0
#define  BOOST_FUNCTION_3					boost::function3
#define  BOOST_THREAD						boost::thread

//boost function micro
#define  BOOST_ASIO_ASYN_READ				boost::asio::async_read
#define  BOOST_ASIO_ASYN_WRITE				boost::asio::async_write
#define  BOOST_ASIO_ASYN_CONNECT			boost::asio::async_connect
#define  BOOST_ASIO_BUFFER					boost::asio::buffer
#define  BOOST_ASIO_TCP_IPV4_FROM_STR		boost::asio::ip::address_v4::from_string
#define  BOOST_ASIO_TCP_V4					boost::asio::ip::tcp::v4()
#define	 BOOST_BIND							boost::bind

#pragma endregion 类型/函数

折叠代码块的方法:如同Visual C++中折叠函数、类、命名空间,当代码被包含在如上所述的指令之间后,#pragma region这一行的左边会出现一个“-”号,单击以折叠内容,同时“-”号会变成“+”号,再次单击可以展开代码块。
注意:此预编译指令在Visual Studio 2005及以上版本可以使用。但是在Visual Studio 2005中,当#pragma region之后包含类似“1st”这类的文字,会导致“error C2059: syntax error : 'bad suffix on number'”的编译错误。避免使用数字或者将数字与字母分离可以解决这个问题。

你可能感兴趣的:(C/C++)