方法一:借助auto、decltype、unique_ptr、Lambda表达式构造 sqlite3 *db = NULL; auto deleter = [](sqlite3 *pdb){sqlite3_close(pdb);} int nRet = sqlite3_open16(L"F:\\my...
分类:
编程语言 时间:
2014-07-16 22:59:07
阅读次数:
385
0) { ALLOC_ZVAL(*value_ptr_ptr); ZVAL_COPY_VALUE(*value_ptr_ptr, value_ptr); value_ptr = *value_ptr_ptr; ...
分类:
Web程序 时间:
2014-07-16 20:53:10
阅读次数:
167
1、指针的初始化指针初始化时,“=”的右操作数必须为内存中数据的地址,不能够是变量,也不能够直接用整型地址值(可是int*p=0;除外,该语句表示指针为空)。此时,*p仅仅是表示定义的是个指针变量,并没有间接取值的意思。比如:int a = 25;int *ptr = &a;int b[10];in...
分类:
编程语言 时间:
2014-07-12 13:22:25
阅读次数:
187
/**
* 功能:使用标准库:文本查询程序
* 时间:2014年7月10日09:10:15
* 作者:cutter_point
*/
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
using line_no=vector::size_type;
/**...
分类:
编程语言 时间:
2014-07-11 00:16:17
阅读次数:
305
动态内存与智能指针(3)
/**
* 功能:动态内存与智能指针
* 时间:2014年7月8日15:33:58
* 作者:cutter_point
*/
#include
#include
#include
#include
using namespace std;
/**
智能指针和异常
*/
void f()
{
shared_ptr sp(new int(42)); ...
分类:
编程语言 时间:
2014-07-09 09:08:04
阅读次数:
161
定时器消息
1、 WM_TIMER
按照定时器设置的时间段,自动向窗口发送一个定时器消息WM_TIMER。优先级比较低
定时器精度比较低,毫秒级别,消息产生时间也精度比较低
2 、消息和函数
WM_TIMER : 消息ID
wParam 定时器的ID
lParam 定时器的处理函数
SetTimer
:设置一个定时器
UINT_PTR SetTimer(
...
unique_ptr是一个独享所有权的智能指针,它提供了一种严格语义上的所有权,包括:
1、拥有它所指向的对象。
2、无法进行复制构造,也无法进行复制赋值操作。也就是说,我们无法得到指向同一个对象的两个unique_ptr。但是可以进行移动构造和移动赋值操作。
3、保存指向某个对象的指针,当它本身被删除释放的时候(比如,离开了某个作用域),会使用给定的删除器释放它指向...
分类:
编程语言 时间:
2014-07-08 17:23:41
阅读次数:
271
weak_ptr是对对象的一种弱引用,它不会增加对象的引用计数。weak_ptr和shared_ptr之间可以相互转换,shared_ptr可以直接赋值给week_ptr,week_ptr可通过调用lock函数来获得shared_ptr(如果对象已经被释放,则返回一个空的shared_ptr)。
单纯使用shared_ptr有时会产生问题,考虑下面的代码:
1 class...
分类:
编程语言 时间:
2014-07-08 17:10:39
阅读次数:
289
这里先介绍auto_ptr的缺陷:
因为auto_ptr并不是完美无缺的,它的确很方便,但也有缺陷,在使用时要注意避免。首先,不要将auto_ptr对象作为STL容器的元素。C++标准明确禁止这样做,否则可能会碰到不可预见的结果
auto_ptr的另一个缺陷是将数组作为auto_ptr的参数: auto_ptr pstr (new char[12] ); //数组;为定义
然后释放资源...
分类:
编程语言 时间:
2014-07-08 14:38:50
阅读次数:
240
shared_ptr是一个引用计数智能指针,用于共享对象的所有权。它可以从一个裸指针、另一个shared_ptr、一个auto_ptr、或者一个weak_ptr构造。还可以传递第二个参数给shared_ptr的构造函数,它被称为删除器(deleter)。删除器用于处理共享资源的释放,这对于管理那些不是用new分配也不是用delete释放的资源时非常有用。shared_ptr被创建后,就可以像普通指...
分类:
编程语言 时间:
2014-07-08 13:26:57
阅读次数:
191