_RecordsetPtr智能指针,它是专门为通过记录集操作数据库而设立的指针,通过该接口可以对数据库的表内的记录、字段等进行各种操作。要搞清楚:数据库和ADO的记录集是两个不同的概念,是存在于不同物理位置的两个存储空间。                   记录集相当于是实际数据的一份拷贝。 正因
转载 2024-05-13 20:05:47
86阅读
shared_ptr与weak_ptr智能指针均是C++ RAII的一种应用,可用
转载 2019-11-29 10:31:00
169阅读
2评论
#include "boost/scoped_ptr.hpp"#include #include //contain auto_ptrusing namespace std;using boost::scoped_ptr;int main(int argc, char* argv[]){scoped...
转载 2016-01-15 18:24:00
129阅读
2评论
看这里: http://blog..net/lollipop_jin/article/details/8499530 shared_ptr可以多线程同时读,但是涉及到写,需要加锁。 shared_ptr开销较大。 多个(5个以上)shared_ptr共享一个动态对象,那么每个shared_p
转载 2017-03-04 10:55:00
108阅读
2评论
1、weak_ptr  (1)、weak_ptr是为了配合shared_ptr而引入的智能指针,它更像是shared_ptr的一个助手,它不具有普通指针的行为,没有重载operator*和->,它的最大作用在于协助shared_ptr工作,像旁观者那样观测资源的使用情况。  (2)、2个重要接口:bool expired()const ;// 判断是否过期  l
原创 2016-07-31 12:10:14
1152阅读
1点赞
文档: http://www.boost.org/doc/libs/1_57_0/libs/smart_ptr/shared_ptr.htm shared_ptr构造有个原型 Introduction The shared_ptr class template stores a pointer to
转载 2015-02-05 17:01:00
151阅读
2评论
shared_ptr weak_ptr是C++ tr1中最具有实用性的一个工具。利用C++的析构函数与引用计数,提供资源自动管理的能力。在vs2010之前,大家用的都是boost中的smartptr库,现在vs2010已经提供了tr1类库。 shared_ptr: 每一个shared_ptr对象内部,拥有两个指针ref_ptr与res_ptr,一个指向引用计数对象,一个指向实际的资源。 在s
原创 2011-03-20 22:36:24
3087阅读
目录一、数据类二、数据相关类及相关函数三、同步相关类一、数据类1、PtrStepSz一个包装设备端内存(GPU内存,也就是显存)的轻量级类。可作为CUDA核函数(CUDA kernel)的参数。可以从主机端调用其成员函数、也可以从设备端调用其成员函数。template<typename T> struct PtrStepSz { int cols; int rows;
转载 2024-08-05 19:48:39
107阅读
一、auto_ptr  auto_ptr这是C++98标准下的智能指针,现在常常已经被C++标准的其他智能指针取代。它的缺点是在转移所有权后会使运行期不安全。C++11新标准,用unique_ptr来代替auto_ptr原有功能。auto_ptr <double> pd;double *p_reg = new double;pd = p_reg; // 不允许pd = ...
原创 2022-11-29 20:04:33
146阅读
很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用会引发间断性发作、难以诊断的bug。 1.为什么称它为“自动”指针?auto_ptr只是众多可能的智
转载 2015-12-16 17:19:00
200阅读
2评论
C++11中的四种智能指针前言C++ STL 提供了四种智能指针:auto_ptr、unique_ptr、shared_ptr 和 weak_ptr。其中auto_ptr 是 C++98 提供的解决方案,C+11 已将其摒弃,并提出了 unique_ptr 作为 auto_ptr 替代方案。虽然 auto_ptr 已被摒弃,但在实际项目中仍可使用,但建议使用较新的 unique_ptr,因为 un
转载 2022-11-04 09:44:28
368阅读
强指针----------------------------------boost::shared_ptr 示例代码如下: #include <string> #include <iostream> #include <boost/shared_ptr.hpp> class implementation{ public: ~impleme
标准中对于类成员访问有如下说明: 3 If E1 has the type “pointer to class X,” then the expression E1->E2 is converted to the equivalent form (*(E1)).E2; 即对于指向c...
转载 2011-04-21 01:48:00
125阅读
2评论
最近在使用filp_open打开文件时遇到到一个问题,当打开一个并不存在的文件时,filp_open返回值值为0xfffffffe,而并不是0(NULL),这是因为内核对返回指针的函数做了特殊处理。内核中的函数常常返回指针,通常如果调用出错,会返回NULL空指针,但linux做了更精妙的处理,能够通...
转载 2015-04-10 14:33:00
434阅读
2评论
两种表达都不同。让我们看一个示例代码来理解两个表达式之间的区别。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <stdio.h> int main(void) { int aiData[5] = {100,200,300,400,500}; int *piDa
转载 2019-09-01 21:55:00
170阅读
2评论
原创 2023-06-09 16:23:19
57阅读
    RAII(Resource Acquisition Is Initialization)资源分配即初始化,定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。所谓智能指针就是智能/自动化的管理指针所指向的动态资源的释放。STL--auto_ptrBoost库的智能指针:scoped_ptr/sco
原创 2016-03-20 22:09:37
982阅读
模拟实现智能指针auto_ptr,scoped_ptr,shared_ptr。 &#160; 1. STL---AutoPtr (管理权转移,不推荐使用)包含在头文件 #include<memory>中,std::auto_ptr 能够方便的管理单个堆内存对象,2. boost—ScopedPtr(简单、粗暴,只定义,不实现),3. boost—SharedPtr(引用计数的方法实现)
原创 2016-04-02 10:42:07
672阅读
boost库实现了各种智能指针,基本上都纳入了c++11标准中,boost库
原创 2022-12-11 20:09:30
475阅读
int **ptr 与 int ptr[4][4] 的区别???可以啊最好这样理解。 你应该知道 *(*(ptr+1)+2);相当于ptr[1][2]; 呵呵。 **p可以理解成*((*p+0)+0);相当于ptr[0][0];  区别在于:int **ptr定义了一个指针(具体的,二级指针),它使得编译程序使程序在运行时分配一点点内存用来存放这个指针——某个数值,它标明了内存
  • 1
  • 2
  • 3
  • 4
  • 5