- 浏览: 761464 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (1045)
- 数据结构 (36)
- UML与设计模式 (42)
- c++ (87)
- rust (36)
- Qt (41)
- boost模板元编程 (43)
- Linux (77)
- 汇编 (4)
- 其它 (2)
- 烹饪 (3)
- unix c / socket (73)
- 软件工程 (4)
- shell (53)
- Python (37)
- c++ primer 5th(c++11) (22)
- 数据库/MySQL (27)
- 数据存储 (4)
- lisp (7)
- git (4)
- Utility (3)
- CDN与DNS (54)
- Http (53)
- php (7)
- nginx/lua/openresty (41)
- redis (11)
- TCP/IP (16)
- 互联网 (6)
- kernel (2)
- go (34)
- 区块链 (43)
- 比特股 (13)
- 以太坊 (23)
- 比特币 (23)
- 密码学 (10)
- EOS (53)
- DAG (1)
- docker (1)
- filecoin (7)
- solidity (65)
- ipfs (8)
- 零知识证明 (1)
- openzeppelin (3)
- java (1)
- defi (7)
- Ton (0)
最新评论
reference_wrapper是一个引用类型的包装器
reference_wrapper就像是被包装对象的一个别名,但它只有在使用T的语境下才能够执行隐性转换,其他情况下则需要调用类型转换函数或get()函数才能真正被包装对象。
template<class T> class reference_wrapper { public: typedef T type; #if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1300 ) explicit reference_wrapper(T& t): t_(&t) {} #else explicit reference_wrapper(T& t): t_(boost::addressof(t)) {} #endif operator T& () const { return *t_; } T& get() const { return *t_; } T* get_pointer() const { return t_; } private: T* t_; };
reference_wrapper就像是被包装对象的一个别名,但它只有在使用T的语境下才能够执行隐性转换,其他情况下则需要调用类型转换函数或get()函数才能真正被包装对象。
#include<boost/ref.hpp> #include<assert.h> #include<iostream> using namespace std; using namespace boost; int main() { int x=10; reference_wrapper<int> rw(x); assert(x==rw); (int &)rw=100; reference_wrapper<int> rw2(rw); assert(rw2.get()==100); cout << rw2.get() << endl; string str; reference_wrapper<string> rws(str); *rws.get_pointer() = "test reference_wrapper"; cout << rws.get().size() << endl; } 100 22
发表评论
-
multi_index_container
2018-08-11 13:04 456根据不同的类中不同的字段排序 #include < ... -
program_options读命令行和配置文件
2018-07-27 11:30 866#include <boost/program_opti ... -
centos下boost安装
2014-03-27 09:28 1060./booststarp.sh //这里的一些错误不用管 ... -
GC的改良
2013-10-17 22:05 575分代回收:对分配不久,诞生时间较短的“年龄”对象进行重点扫描, ... -
GC与引用记数
2013-10-16 21:57 695根(Root)就是判断对象是否可被引用的起始点。至于哪里才是根 ... -
boost 信号槽
2011-06-08 23:43 2319#include<boost/signals2.hp ... -
boost bind
2011-06-07 15:28 1687bind并不是一个单独的类或函数,而是非常庞大的家族,依据绑定 ... -
元编程
2011-06-02 22:46 931元编程的最大特点在于:某些用户自定义的计算可以在程序翻译期进行 ... -
参数化虚拟性
2011-06-02 22:17 865#include<iostream> usi ... -
boost any与variant
2011-05-31 15:55 2430any:是一种只能容纳一个元素的容器,但这个元素可以是任意类型 ... -
traits
2011-05-30 16:43 788#include<iostream> usi ... -
动静多态
2011-05-30 15:40 1061由于继承||虚函数在运行期进程处理,这种多态叫动多态。 模板允 ... -
局部特化
2011-05-29 16:27 1033局部特化并不会引入一个新的模板,它只对原来模板(基本模板)进行 ... -
类模板与模板类
2011-05-29 16:08 7061.类模板:该类是一个模板,他代表的是:整个类家族的参数化描述 ... -
boost tuple
2011-05-27 15:03 1086tuple(元组):定义了一个有固定数目元素的容器,其中的每个 ... -
boost array
2011-05-27 00:06 931array本质上是一个对静态数组的包装,没有构造函数,不能指定 ... -
单元测试
2011-05-23 22:00 887test库提供了一个最小化的测试套件minimal test. ... -
boost StaticAssert
2011-05-23 21:42 936static_assert库把断言的诊断时刻由运行期提前到编译 ... -
boost正则表达式
2011-05-17 23:10 2797xpressive是boost的正则表达式库,它比boost. ... -
为什么模板要写在.h里面
2011-05-13 18:02 1106//test.h template<typena ...
相关推荐
st_asio_wrapper是一组类,功能是对boost.asio的包装(调试环境:boost-1.50.0),目的是简化boost.asio开发; 其特点是效率高、跨平台、完全异步,当然这是从boost.asio继承而来; 自动重连,数据透明传输,自动...
- **st_asio_wrapper_service_pump.h**:定义了`st_service_pump`类,它是Boost.Asio `io_service`的一个包装类,用于运行所有的服务对象,如`st_server_base`、`st_tcp_sclient`等。 - **st_asio_wrapper_object_...
之前的cef vs2005编译 发下少了libcef dll wrapper工程,特此补上lib文件,自己在cefclient.cpp里补上#pragma comment( lib, "libcef_dll_wrapper.lib")即可
**st_asio_wrapper** 是一个基于 Boost.Asio 的网络编程库,它为 C/S 架构提供了方便的接口和封装,使得开发者可以更高效、更便捷地进行网络通信开发。这个库的最新版本是 2016.1.9,尽管在发布时已经是较早的版本,...
《深入理解libcef_dll_wrapper.lib在Windows32平台上的应用》 libcef_dll_wrapper.lib是Chromium Embedded Framework(CEF)项目的重要组成部分,它为开发者提供了一种在Visual Studio 2010环境下与CEF交互的接口。...
更多更新请看st_asio_wrapper_socket.h,所有更新都会罗列在这个头文件的开头处,另外st_asio_wrapper_server.h的开头部分注释也很重要,有工作原理相关的说明。 2.2版更新内容: 增加了一个demo——文件传输服务端...
《Python库lp_api_wrapper详解与应用》 在Python编程领域,库是开发者的重要工具,它们提供了丰富的功能,简化了复杂的任务。今天我们将深入探讨的是一个名为`lp_api_wrapper`的库,版本为0.3.5,它以`.tar.gz`格式...
《Python库hikvision_isapi_wrapper-0.1:实现海康威视ISAPI接口的高效封装》 在IT行业中,Python作为一种强大的开发语言,因其简洁的语法和丰富的库支持,广泛应用于后端开发、数据分析、自动化脚本等多个领域。...
的高效异步c/s 网络框架 st_asio_wrapper概述st_asio_wrapper是基于 Boost.Asio,的异步c/s 框架,除了增强和 Boost.Asio, 带来的所有好处外,它还包含:基于消息就像UDP和几个内置的封隔器和解包器;支持
st_asio_wrapper是一组类库,功能是对boost.asio的包装(调试环境:boost-1.51.0),目的是简化boost.asio开发; 其特点是效率高、跨平台、完全异步(当然这是从boost.asio继承而来)、自动重连,数据透明传输,自动...
windows程序设计(珍藏版)_wrapper_wrapperwindows程序设计(珍藏版)_wrapper_wrapperwindows程序设计(珍藏版)_wrapper_wrapper
st_asio_wrapper是一组类,功能是对boost.asio的包装(调试环境:boost-1.50.0),目的是简化boost.asio开发; 其特点是效率高、跨平台、完全异步,当然这是从boost.asio继承而来; 自动重连,数据透明传输,自动...
st_asio_wrapper是一组类,功能是对boost.asio的包装(调试环境:boost-1.50.0),目的是简化boost.asio开发; 其特点是效率高、跨平台、完全异步,当然这是从boost.asio继承而来; 自动重连,数据透明传输,自动...
标题中的"PyPI 官网下载 | kcp_wrapper-0.2.13.tar.gz"表明这是一个在Python Package Index(PyPI)上发布的开源软件包,名为"kcp_wrapper",版本为0.2.13,其打包格式是tar.gz。PyPI是Python开发者发布自己软件包的...
st_asio_wrapper是一组类,功能是对boost.asio的包装(调试环境:boost-1.50.0),目的是简化boost.asio开发; 其特点是效率高、跨平台、完全异步,当然这是从boost.asio继承而来; 自动重连,数据透明传输,自动...
`infi.pyvmomi_wrapper`是一个基于Python的库,专门设计用于与VMware vSphere API交互。这个库是为了解决使用原生`pyvmomi`库时的一些复杂性和繁琐性,提供了更简洁、易用的接口。`pyvmomi`是VMware官方提供的Python...
进入 wpa_cli_wrapper/wpa_supplicant-2.6/wpa_supplicant 目录,执行 make -f Makefile.wrapper, 在当前目录下生成 libwpa_cli_wrapper.a 和 libwpa_cli_wrapper_test;如果遇到提示类似“致命错误:netlink/genl/...
编辑-》首选参数-》actionscript-》actionscript 3.0设置-》库路径-》浏览到swc文件,然后选择那个as3_jpeg_wrapper.swc 另外,在“发布设置”的flash选项里,也要勾选“发布swc” 不需要通过后台或者fms,直接在...
st_asio_wrapper,这是一个基于Boost.Asio库的C++网络通信框架,主要用于简化和优化服务器端和客户端的网络编程工作。在2.2.3版本中,它提供了一套完整的解决方案,以帮助开发者快速构建稳定、高效的网络服务。截止...
st_asio_wrapper是一组类,功能是对boost.asio的包装(调试环境:boost-1.50.0),目的是简化boost.asio开发; 其特点是效率高、跨平台、完全异步,当然这是从boost.asio继承而来; 自动重连,数据透明传输,自动...