评论

收藏

[C++] #pragma region

编程语言 编程语言 发布于:2021-07-06 18:04 | 阅读数:454 | 评论:0

  #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'”的编译错误。避免使用数字或者将数字与字母分离可以解决这个问题。



  
关注下面的标签,发现更多相似文章