在确保new动态分配的内存空间在使用结束之后,释放是一件麻烦事。C++11模板库的头文件中定义的智能指针,即shared_ptr模板,就是用来解决这个问题的。 它是将new运算符返回的指针p交给一个shared_ptr对象“托管”,就不用担心要在哪里写delete p语句 实际根本不需要编写这条语句 ...
分类:
编程语言 时间:
2020-03-30 23:06:56
阅读次数:
89
如图报错: 解决方法: yum install -y libaio //安装后在初始化就OK了 也有的人说 使用这个命令才能解决这个问题,yum install -y libaio.so.1 这边博主我是用的第一个命令,就可以了,如果你用的第一个没有用的话,那你再用第二个命令试 ...
分类:
其他好文 时间:
2020-03-30 21:48:27
阅读次数:
117
作用:创建可扩展的轻量级应用程序的库。可以让扩展在程序内重复使用,还可以跨程序重复使用。 导出Export:把部件放到容器中,供其它部件使用。 导入Import:把部件从容器中拿出来使用。 导入和导出必须具有相同的约定:协定类型参数 && 协定名称参数 隐式协定:协定类型参数和协定名称参数将从修饰的 ...
最近一直在搭建 CI 框架,必不可少的就是需要有 Unit Test 的工具。 我们的代码90%都是C和C++,同时需要支持 Red Hat, SUSE, Windows和 Solaris 平台(好在Solaris 客户少了,对该版本的支持即将结束)。我们最终选定 Google Test 来做 UT ...
分类:
系统相关 时间:
2020-03-28 13:24:59
阅读次数:
179
首先,创建一个文件夹,并在改文件夹下存进如下文件: cal.h:头文件 #ifndef cal_h #define cal_h int add(int,int); int sub(int,int); int mul(int,int); int div(int,int); int mod(int,in ...
分类:
系统相关 时间:
2020-03-22 16:17:32
阅读次数:
133
首先,创建一个文件夹,并在改文件夹下存进如下文件: cal.h #ifndef cal_h #define cal_h int add(int,int); int sub(int,int); int mul(int,int); int div(int,int); int mod(int,int); ...
分类:
系统相关 时间:
2020-03-21 17:54:05
阅读次数:
70
概述 与shared_ptr不同,某个时刻只能有一个unique_ptr指向一个给定对象。当unique_ptr被销毁时,它所指向的对象也被销毁。同时,unique_ptr也没有类似于make_shared的标准库函数,当我们定义一个unique_ptr时,需要将其绑定到一个new返回的指针。因此初 ...
分类:
其他好文 时间:
2020-03-21 12:51:07
阅读次数:
64
上述问题一般是由于eclipse和JDK位数不一样导致的,因此首先查看eclipse和JDK分别是多少位的。确定是位数的不同导致的之后,通常的解决方案是卸载一个,安装和另一个位数相匹配的版本。 如何查看eclipse的位数? 打开eclipse的安装目录,右击eclipse.ini以记事本的方式打开 ...
分类:
其他好文 时间:
2020-03-18 15:47:12
阅读次数:
62
在函数模板中使用智能指针时,可能会希望根据指针的类型推导出指针引用的对象类型作为模板参数,于是写出以下代码: shared_ptr<decltype(*objPtr)>(objPtr); 一眼看上去似乎是正确的,然而实际上隐藏着一个问题会导致错误,这要从decltype()推断出的类型说起。 dec ...
分类:
编程语言 时间:
2020-03-18 11:18:27
阅读次数:
95
Linux下gcc编译控制动态库导出函数小结 来源 https://www.cnblogs.com/lidabo/p/5703890.html 根据说明文档“How To Write Shared Libraries"介绍, 有四种方法: 1. 在方法声明定义时,加修饰:__attribute__( ...
分类:
系统相关 时间:
2020-03-17 14:08:21
阅读次数:
63