如何使用唯一指针向量?

2024-04-26

I use vector<unique_ptr<Data>>存储我的数据,以实现自动内存管理和低成本unique_ptr。我有一个函数可以尝试将新创建的数据添加到其中。数据可能真的添加,也可能没有。如果添加了它,我不需要关心它的内存删除,因为指针向量会处理它。如果不添加的话,希望新创建的数据能够自动删除。有什么简单的方法可以实现吗?该函数可能如下所示或其他类似的形式。谢谢。

// Return true if really added, return flase if not.
bool add(vector<unique_ptr<Data>>& vec, Data* newData);

根据戴夫的回答,是bool add(vector<unique_ptr<Data>>& vec, std::unique_ptr<Data>& newData)自从以后更好unique_ptr非公开复制?这里第二个参数中使用了引用。


Accept newData as a unique_ptr too.

bool add(vector<unique_ptr<Data>>& vec, std::unique_ptr<Data> newData)
{
    if(blah blah blah)
    {
        vec.push_back(std::move(newData));
        return true;
    }
    return false;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用唯一指针向量? 的相关文章

  • 将复选框添加到 UniformGrid

    我正在尝试将复选框动态添加到 wpf 中的统一网格中 但看起来网格没有为它们分配足够的空间 所以它们都有点互相重叠 这就是我将它们添加到后面的代码中的方法 foreach string folder in subfolders PathCh
  • 是否可以强制 XMLWriter 将元素写入单引号中?

    这是我的代码 var ptFirstName tboxFirstName Text writer WriteAttributeString first ptFirstName 请注意 即使我使用 ptFirstName 也会以双引号结束 p
  • ASP.NET Core Serilog 未将属性推送到其自定义列

    我有这个设置appsettings json对于我的 Serilog 安装 Serilog MinimumLevel Information Enrich LogUserName Override Microsoft Critical Wr
  • 从父类调用子类方法

    a doStuff 方法是否可以在不编辑 A 类的情况下打印 B did stuff 如果是这样 我该怎么做 class Program static void Main string args A a new A B b new B a
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • C++ 子字符串返回错误结果

    我有这个字符串 std string date 20121020 我正在做 std cout lt lt Date lt lt date lt lt n std cout lt lt Year lt lt date substr 0 4 l
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • 获取没有非标准端口的原始 url (C#)

    第一个问题 环境 MVC C AppHarbor Problem 我正在调用 openid 提供商 并根据域生成绝对回调 url 在我的本地机器上 如果我点击的话 效果很好http localhost 12345 login Request
  • WPF TabControl,用C#代码更改TabItem的背景颜色

    嗨 我认为这是一个初学者的问题 我搜索了所有相关问题 但所有这些都由 xaml 回答 但是 我需要的是后台代码 我有一个 TabControl 我需要设置其项目的背景颜色 我需要在选择 取消选择和悬停时为项目设置不同的颜色 非常感谢你的帮助
  • 指针减法混乱

    当我们从另一个指针中减去一个指针时 差值不等于它们相距多少字节 而是等于它们相距多少个整数 如果指向整数 为什么这样 这个想法是你指向内存块 06 07 08 09 10 11 mem 18 24 17 53 7 14 data 如果你有i
  • vector 超出范围后不清除内存

    我遇到了以下问题 我不确定我是否错了或者它是一个非常奇怪的错误 我填充了一个巨大的字符串数组 并希望在某个点将其清除 这是一个最小的例子 include
  • Github Action 在运行可执行文件时卡住

    我正在尝试设置运行google tests on a C repository using Github Actions正在运行的Windows Latest 构建过程完成 但是当运行测试时 它被卡住并且不执行从生成的可执行文件Visual
  • for循环中计数器变量的范围是多少?

    我在 Visual Studio 2008 中收到以下错误 Error 1 A local variable named i cannot be declared in this scope because it would give a
  • 实体框架 4 DB 优先依赖注入?

    我更喜欢创建自己的数据库 设置索引 唯一约束等 使用 edmx 实体框架设计器 从数据库生成域模型是轻而易举的事 现在我有兴趣使用依赖注入来设置一些存储库 我查看了 StackOverflow 上的一些文章和帖子 似乎重点关注代码优先方法
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • C++ fmt 库,仅使用格式说明符格式化单个参数

    使用 C fmt 库 并给定一个裸格式说明符 有没有办法使用它来格式化单个参数 example std string str magic format 2f 1 23 current method template
  • 32 位到 64 位内联汇编移植

    我有一段 C 代码 在 GNU Linux 环境下用 g 编译 它加载一个函数指针 它如何执行并不重要 使用一些内联汇编将一些参数推送到堆栈上 然后调用该函数 代码如下 unsigned long stack 1 23 33 43 save
  • 使用 libcurl 检查 SFTP 站点上是否存在文件

    我使用 C 和 libcurl 进行 SFTP FTPS 传输 在上传文件之前 我需要检查文件是否存在而不实际下载它 如果该文件不存在 我会遇到以下问题 set up curlhandle for the public private ke

随机推荐

  • 当您在 REST 中需要更多动词时该怎么办

    还有一个类似的question https stackoverflow com questions 2001773 understanding rest verbs error codes and authentication对我来说 但讨
  • “node-sass”用法已弃用,并将在未来的主要版本中删除

    当我从 Angular 升级时8 to 11我面临这个警告 node sass 用法已弃用 并将在未来的主要版本中删除 要选择退出已弃用的行为并开始使用 sass 请卸载 node sass 谁能帮我提前致谢 完整的错误消息是 node s
  • .Net Core 本地化视图:Linq 表达式中的 IViewLocalizer

    我正在 net core 中编写 mvc 应用程序 我遇到本地化问题 我不知道如何将 IViewLocalizer 添加到我的网格视图中 这是我的代码 using NonFactors Mvc Grid using Microsoft As
  • 流星刀片模板在 for 循环中抛出“同一分支中的第二个地标”异常

    我有一个 for 循环 我想在其中包含模板视图 表 刀片 game h1 table name if table playerSitting a btn btn danger stand href Stand table for var i
  • 如何使用 google-apps-script 以 Google 表单导入“文件上传”模块

    I am able to create a small google form using google apps script Which includes texts radio buttons etc But how to inclu
  • 身份框架用户锁定

    我尝试在 3 次登录尝试失败后锁定用户登录 5 分钟 我已将这 3 行添加到App Start IdentityConfig cs public static ApplicationUserManager Create method man
  • Keras 使用 mask 冻结特定权重

    我是 Keras 的新人 我想实现一个并非所有权重都会更新的层 例如 在下面的代码中 我想要dilation图层将以某些中心权重永远不会更新的方式进行更新 例如 每个特征矩阵 共 1024 个 的形状dilation层是448 448和一块
  • 是否有与 :hover 相反的 CSS 伪类?

    CSS中有没有伪类来指定 not hover 或者这是指定未悬停的项目的唯一方法 我浏览了几个 CSS3 参考资料 但没有看到任何提及 CSS 伪类来指定 hover 的相反内容 是的 使用 not hover child not hove
  • 使用Bundle传递数据时出现空指针异常

    我有一个浮点数组camObjCoord宣告为 public static float camObjCoord new float 8000 然后我在一个类中填充它的索引 该类执行如下操作 camObjCoord 1 2 5 然后我打电话ma
  • 更改 UIWebView 的文本颜色

    我正在制作一个 epub 阅读器 我将 HTML 页面加载到其中webview webview loadRequest NSURLRequest requestWithURL NSURL fileURLWithPath pagesPath
  • glibc 已弃用的 __malloc_hook 功能的替代方案

    我正在为 C 编写一个内存分析器 并为此拦截对malloc realloc and free通过 malloc hooks 函数 不幸的是 这些已被弃用 因为它们在多线程环境中表现不佳 我找不到描述实现相同目标的替代最佳实践解决方案的文档
  • 如何在 Plotly 中旋转绘图的轴?

    我在 Plotly 中完成了以下情节 如您所见 X Y 轴采用传统方式 如何旋转轴 使 X 垂直绘制 Y 水平绘制 向左 我还想修改每个轴的范围和间距 我想它必须对布局元素做一些事情 我的代码到目前为止 layout go Layout t
  • 如何使用 OAuth 2.0 实现 Web 小部件

    我想创建一个 Web 小部件来显示我网站上的信息 该小部件将使用 JavaScript 包含在客户网站的 HTML 中 并且只能用于我的客户 在我的网站上注册的网站 小部件中的信息应该特定于当前正在访问客户站点的用户 因此 我需要对客户端
  • Paint.getTextWidths。什么是提前宽度?

    什么是提前宽度 该术语出现在 android 类中Paint 具体来说是函数getTextWidths 文档指出 返回字符串中字符的提前宽度 什么是 提前宽度 前进宽度是与字体 版式相关的度量术语 这里有一些关于 SO 的问答涵盖了它 但简
  • 在 BHO 中检测页面刷新

    页面刷新 F5 后 IE 不会触发 DocumentComplete 和 NavigateComplete2 事件 这显然是 设计使然 但它使得响应页面重新加载变得困难 哪些方法取得了最大的成功 有什么注意事项 谢谢 没有直接的方法 很难跨
  • 透明卡片,但具有仰角阴影效果

    我在制作透明白色卡片 不透明度 0 4 时遇到问题 但是 带有来自高程效果的阴影 如果我删除高程 则不会有阴影效果 并且卡片看起来是透明的 但是 如果我添加一些高度 透明效果就会被破坏 这是我尝试过的 Widget cardMenu Str
  • Visual Studio Code 不建议使用 Python 对象属性

    我使用添加了 Python 扩展的 VS Code v1 25 1 尽管它向我建议了库和类的属性和方法 即我输入from sklearn 它提出像这样的建议ensemble exception等等 当我生成 numpy 数组时x data
  • 如何从纯文本中查找键值存储中的值

    给定一个纯文本文件 其中包含 FOO foo BAR bar BAZ baz 我们如何grep使用键获取值 Use a 向后看 https regex101 com r q3FNpe 1 grep Po lt FOO w file foo
  • OpenCover 与 TFS 集成

    我是 TFS 新手 希望将 OpenCover 与 TFS 集成 如果有人这样做过 请帮忙 这个问题相当老了 但也许你仍然感兴趣 对于当前版本的 TFS 2015 Update 2 现在可以将其作为 vsts 扩展 详细信息请参见此处 ht
  • 如何使用唯一指针向量?

    I use vector