auto_ptr作为最早的智能指针,可以实现以RAII手法管理堆区对象,但它设计的本意只是简单的利用C++对于栈区对象的自动析构管理堆区对象, 并不像shared_ptr那样包含引用计数,可以在每次拷贝的时候多出一个“分身”。这时候,拷贝的语义就成了很大的问题(按理说直接禁掉可能好好些), 于是就出
分类:
编程语言 时间:
2016-02-28 15:12:29
阅读次数:
169
在并发环境下锁的使用是家常便饭, 如何减少锁的使用是优化程序性能的一个方面. c++11里面新增了智能指针std::shared_ptr, 这个东西也许能给我们带来些启发. shared_ptr的一个特性是当引用计数为0时,它所拥有的堆内存会被自动释放. 利用这个特性我们可以做点实用的功能, 如下程
分类:
其他好文 时间:
2016-02-27 12:19:48
阅读次数:
119
1. 作用域: 静态全局变量与普通全局变量:前者的作用域缩小,生命周期相同。 静态局部变量与普通局部变量:前者的生命周期延长,作用域相同。 2. 函数指针: int (*func_ptr)(int,float*);//声明函数指针。 int exchange(int,float*); exchang
分类:
编程语言 时间:
2016-02-25 11:59:17
阅读次数:
185
转: http://www.cnblogs.com/TianFang/archive/2008/09/19/1294521.html boost::scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。顾名思义,boo
分类:
其他好文 时间:
2016-02-22 18:59:56
阅读次数:
120
注意:现在boot库已经归入STL库,用法基本上还和boost类似
在C++11中,引入了智能指针。主要有:unique_ptr, shared_ptr, weak_ptr。
这3种指针组件就是采用了boost里的智能指针方案。很多有用过boost智能指针的朋友,很容易地就能发现它们之间的关间:
std
boost
功能说明
uniq...
分类:
编程语言 时间:
2016-02-19 14:28:33
阅读次数:
2677
访问图像中的像素 访问图像像素有三种可行的方法方法一:指针访问指针访问访问的速度最快,Mat类可以通过ptr函数得到图像任意一行的首地址,同时,Mat类的一些属性也可以用到公有属性 rows和cols 表示行和列通道数可以通过channels()函数获得;void visitPix1(){ Mat
分类:
其他好文 时间:
2016-02-17 22:13:35
阅读次数:
3296
class Node; using NodePtr = std::unique_ptr<Node>; class Node { public: int value; NodePtr next = nullptr; explicit Node(int value_ = 0): value(value_
分类:
其他好文 时间:
2016-02-13 15:46:17
阅读次数:
164
基类virtual func返回类型为某个类(class Super)的ptr或ref,子类重写的virtual func返回类型可改为该类子类(class Sub : public Super)的ptr或ref。 class Base { public: virtual Base* clone()
分类:
其他好文 时间:
2016-02-12 23:21:43
阅读次数:
385
从简单的例子开始.假设我们要交换两个整形变量的值,在C/C++中怎么做呢?我们来看多种方式,哪种能够做到.void call_by_ref(int &p,int &q) { // 可以交换的例子
int t = p;
p = q;
q = t;
}
void call_by_val_ptr(int * p,int * q) { // 不能交换的例子
int *...
分类:
其他好文 时间:
2016-02-11 12:20:49
阅读次数:
280
处理器(CPU),所能识别的就是一串二进制机器语言的代码 java 的抽象就是java虚拟机的抽象. 中文编码unicode 4个字节 ASCII 1个字节 PTR 属性操作符,可以制定操作数的类型属性,优先于隐含的类型属性。 Bit意为"位"或"比特",是计算机运算的基础; Byte意为"字节",
分类:
其他好文 时间:
2016-02-08 21:25:26
阅读次数:
589