scoped_ptr是一个智能指针,包装了指向堆上内存的指针。它限制了指针的使用权,不允许转让,不支持比较操作。...
分类:
其他好文 时间:
2014-09-28 00:44:00
阅读次数:
197
scoped_array功能类似scoped_ptr,其管理new int[]类似数组的指针。...
分类:
其他好文 时间:
2014-09-28 00:42:50
阅读次数:
217
restrict是c99标准引入的,它只可以用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式.即它告诉编译器,所有修改该指针所指向内存中内容的操作都必须通过该指针来修改,而不能通过其它途径(其它变量或指针)来修改;这样做的好处是,能帮助编译器进行更好的优化代码,生成更有效率的汇编代码.如
int *restrict ptr, ptr 指向的内存单元只能被 ptr 访问到,任何...
分类:
编程语言 时间:
2014-09-27 16:23:20
阅读次数:
343
auto_ptr是常用的智能指针,其实现很简单,源代码也很短,但是中间有个代理类auto_ptr_ref用的很巧妙,值得学习。...
分类:
其他好文 时间:
2014-09-27 12:54:09
阅读次数:
183
5-2-2 C中printf计算参数时是从右到左压栈的 #include int main (int argc, char **argv)
{ int b = 3; int arr[] = {6,7,8,9,10}; int *ptr = arr;
// *(ptr++) += 123;
// pr...
分类:
其他好文 时间:
2014-09-26 22:32:28
阅读次数:
205
在程序中,我们有时需要将一个十六进制字符串转换为十进制数字。比如:char *ptr="0x11";int n=0;//我们想让n等于0x11,即17通常我们在C中,想将一个字符串转换为一整形数字,通常会使用下面的方法:char*ptr="123";intn=0;n=atoi(ptr);printf...
分类:
其他好文 时间:
2014-09-26 19:03:08
阅读次数:
268
智能指针实际上是一个类(class),里面封装了一个指针.它的用处是啥呢?指针与内存说到指针自然涉及到内存.我们如果是在堆栈(stack)中分配了内存,用完后由系统去负责释放.如果是自定义类型,就会自动的去调用你的析构函数.但如果是在堆(heap)中分配了内存,也就是用malloc或者new.那只能...
分类:
其他好文 时间:
2014-09-24 13:12:46
阅读次数:
131
boost::scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。顾名思义,boost::shared_ptr是可以共享所有权的智能指针boost::shared_ptr的管理机制其实并不复杂,就是对所管理的对象进行...
分类:
其他好文 时间:
2014-09-24 00:23:55
阅读次数:
250
对于auto_ptr比较全面的总结,特别是对auto_ptr的源码解析。...
分类:
编程语言 时间:
2014-09-22 18:06:13
阅读次数:
220