草庐IT

safe_ptr

全部标签

c++ - 带 malloc 和 free 的 shared_ptr

我在包含c和cpp的大型应用程序中工作。所有文件都保存为cpp扩展名,但代码是用c-style编写的。我的意思是它是定义结构而不是通过malloc和realloc和calloc分配内存的类。最近他们已经安装了boost库所以我打算在我现有的代码库中使用所以我有一些以下问题。我可以将std::shared_ptr与malloc和free一起使用吗?如果是,谁能指出我的示例代码库?如果我在我的应用程序中创建std::shared_ptr并将此指针传递给另一个使用malloc或calloc的函数,它会影响任何功能吗?或者换句话说:对于以下代码,如何使用std::shared_ptr实现类似的

c++ - 带 malloc 和 free 的 shared_ptr

我在包含c和cpp的大型应用程序中工作。所有文件都保存为cpp扩展名,但代码是用c-style编写的。我的意思是它是定义结构而不是通过malloc和realloc和calloc分配内存的类。最近他们已经安装了boost库所以我打算在我现有的代码库中使用所以我有一些以下问题。我可以将std::shared_ptr与malloc和free一起使用吗?如果是,谁能指出我的示例代码库?如果我在我的应用程序中创建std::shared_ptr并将此指针传递给另一个使用malloc或calloc的函数,它会影响任何功能吗?或者换句话说:对于以下代码,如何使用std::shared_ptr实现类似的

c++ - 在 std::move() 之后 unique_ptr 会发生什么?

这段代码就是我想做的:Tony&Movie::addTony(){Tony*newTony=newTony;std::unique_ptrtony(newTony);attachActor(std::move(tony));return*newTony;}我想知道我是否可以这样做:Tony&Movie::addTony(){std::unique_ptrtony(newTony);attachActor(std::move(tony));return*tony.get();}但是*tony.get()会是同一个指针还是null?我知道我可以验证,但它的标准做法是什么?

c++ - 在 std::move() 之后 unique_ptr 会发生什么?

这段代码就是我想做的:Tony&Movie::addTony(){Tony*newTony=newTony;std::unique_ptrtony(newTony);attachActor(std::move(tony));return*newTony;}我想知道我是否可以这样做:Tony&Movie::addTony(){std::unique_ptrtony(newTony);attachActor(std::move(tony));return*tony.get();}但是*tony.get()会是同一个指针还是null?我知道我可以验证,但它的标准做法是什么?

c++ - 为什么 shared_ptr<T>::use_count() 返回 long 而不是 unsigned 类型?

shared_ptr观察者20.8.2.2.5C++14最终草案(n4296)longuse_count()constnoexcept;Returns:thenumberofshared_ptrobjects,*thisincluded,thatshareownershipwith*this,or0when*thisisempty.[Note:use_count()isnotnecessarilyefficient.—endnote] 最佳答案 根据这个页面http://www.open-std.org/jtc1/sc22/wg21

c++ - 为什么 shared_ptr<T>::use_count() 返回 long 而不是 unsigned 类型?

shared_ptr观察者20.8.2.2.5C++14最终草案(n4296)longuse_count()constnoexcept;Returns:thenumberofshared_ptrobjects,*thisincluded,thatshareownershipwith*this,or0when*thisisempty.[Note:use_count()isnotnecessarilyefficient.—endnote] 最佳答案 根据这个页面http://www.open-std.org/jtc1/sc22/wg21

memcpy_s这类安全函数使用介绍(来自安全 C 库: Safe C Library )

本文主要对带有_s的这类安全函数(如memcpy_s)进行简单介绍,以及如何在自己的Linux开发环境中使用这些函数。文章目录1.引入这类安全函数2.安全类函数介绍2.1这类函数的背景2.2源码对比分析2.3安全性分析3.如何在自己的Linux开发环境使用类函数3.1获取源码3.2编译和安装3.3使用SafeCLibrary4.总结1.引入这类安全函数  最近在写程序时,涉及内存拷贝的问题,比如我这里有三个字符类型数组a、b、c,可以理解为三个缓冲区,其中a和b中的内容需要根据c中的内容进行构建,a取其中的前半段,b取其中的后半段,需要取的长度已知。  显然,这里可以使用内存拷贝函数memcp

深入解析Safe多签钱包智能合约:模块

概述读者可以在前往我的博客获得更好的阅读体验。在上一篇博客中,我们已经讨论了safe合约的代理部署和核心的GnosisSafe合约。在此博客内,我们主要讨论在上一篇文章内没有介绍的safe合约内各个模块的概念和代码。我们会按照各模块在GnosisSafe合约内出现的顺序进行解释。OwnerManager在GnosisSafe.sol的setUp函数中,我们使用了此模块中的setupOwners函数。此模块主要涉及签名者的管理等功能。setupOwners此函数的功能为初始化签名者(owner)和需要签名的数量(threshold)变量。在函数体的开始,我们看到一系列使用require的条件检查

Momentum Safe 启动大使计划,大家积极参与进来,让我们的社区越来越壮大

MomentumSafe大使计划概览我们期待与积极和热情的人一起工作,他们将与我们的项目团队密切合作,积极为MomentumSafe社区的发展做出贡献,提高认识,并教育公众了解多重签名钱包的好处以及MomentumSafe的原因一个很好的选择。通过这个大使计划,我们打算表彰前5位最活跃的大使,他们将每月出现在我们的“名人堂”上,并在我们的社交媒体渠道上分享。这是一次千载难逢的机会,可以磨练您的技能并加速您的职业和个人成长。大使将担任MomentumSafe的“品牌保管人”。他们以专业的方式提升我们至关重要。资格标准-成为我们社区的一员是基本资格。但是,参与者还必须:1.加入discordhtt

Momentum Safe 启动大使计划,大家积极参与进来,让我们的社区越来越壮大

MomentumSafe大使计划概览我们期待与积极和热情的人一起工作,他们将与我们的项目团队密切合作,积极为MomentumSafe社区的发展做出贡献,提高认识,并教育公众了解多重签名钱包的好处以及MomentumSafe的原因一个很好的选择。通过这个大使计划,我们打算表彰前5位最活跃的大使,他们将每月出现在我们的“名人堂”上,并在我们的社交媒体渠道上分享。这是一次千载难逢的机会,可以磨练您的技能并加速您的职业和个人成长。大使将担任MomentumSafe的“品牌保管人”。他们以专业的方式提升我们至关重要。资格标准-成为我们社区的一员是基本资格。但是,参与者还必须:1.加入discordhtt