_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评论
文档: 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阅读
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阅读
点赞
最近刚接触到kafka,所有做一些理解总结:如有建议和意见欢迎留言讨论消息队列的前世今生:消息协议?JMS协议 提供的 2 种消息模型 ,5 种不同的消息正文格式: 本质是java接口api AMQP协议 提供了 5 种消息模型 ,1 种不同的消息正文格式byte[](二进制) ,兼容 JMS,跨语言,跨平台 两种协议的区别: AMQP为消息定义了线路层(wire-level protocol)的
转载
2024-05-20 21:19:15
54阅读
一、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阅读
最近在使用filp_open打开文件时遇到到一个问题,当打开一个并不存在的文件时,filp_open返回值值为0xfffffffe,而并不是0(NULL),这是因为内核对返回指针的函数做了特殊处理。内核中的函数常常返回指针,通常如果调用出错,会返回NULL空指针,但linux做了更精妙的处理,能够通...
转载
2015-04-10 14:33:00
434阅读
2评论
很多人听说过标准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评论
两种表达都不同。让我们看一个示例代码来理解两个表达式之间的区别。 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。   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阅读