如何make_shared派生类?

2023-12-23

我想使用make_shared<T>具有派生类的函数,如下所示

class Base {
     public:
     typedef std::shared_ptr<Base> Ptr;
};

class Derived : public Base {};

Base::Ptr myPtr = std::make_shared(/* Derived() */ );

我如何告诉 make_shared 构建这样的对象?

我想避免经典

Base::Ptr ptr = Base::Ptr(new Derived());

在 make_shared 函数中使用单个分配。


std::shared_ptr有一个转换构造函数可以使shared_ptr<Base> from a shared_ptr<Derived>,所以以下应该有效:

#include <memory>
class Base {
    public:
    typedef std::shared_ptr<Base> Ptr;
};
class Derived : public Base {};

int main() {
    Base::Ptr myPtr = std::make_shared<Derived>();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何make_shared派生类? 的相关文章

  • 获取当前用户的 NetworkCredential (C#)

    我正在尝试从控制台应用程序调用 Web 服务 并且我需要向客户端提供System Net NetworkCredential object 是否有可能创建一个NetworkCredential启动应用程序的用户的对象而不提示输入用户名 密码
  • gets 和 scanf 有什么区别?

    如果代码是 scanf s n message vs gets message 有什么区别 似乎两者都获取消息的输入 基本区别 参考您的特定场景 scanf 遇到一个时结束接受输入whitespace newline or EOF gets
  • OWIN AuthenticationOptions 在 mvc5 应用程序中运行时更新

    Hi 情况如下 我在 iis 7 上有一个带有 Identity 2 的 MVC 5 应用程序 该应用程序为多个网站提供服务 主机名是某些网站的关键 网站 另一个网站 等等 我决定在我的所有网站上使用谷歌外部登录 每个网站都应该是带有个人
  • 带方括号的 Uri.EscapeUriString

    这是一个奇怪的问题 但让我们看看它会得到什么样的回应 如果我编写一个控制台应用程序 VS 2013 NET 4 5 1 并执行这行代码 Uri EscapeUriString 我明白了 但是 如果我执行同样的事情 嗯 从技术上来说Uri E
  • 使用索引避免迭代器失效,维护干净的接口

    我创建了一个MemoryManager
  • 如何将 CroppedBitmap 转换为 BitmapImage

    我正在尝试将 CroppedBitmap 转换为 BitmapImage 编辑 不使用内存流 我尝试过直接转换它 似乎这不是一个选择 这应该没那么难 我正在尝试剪切 BitmapImage 的一部分 并创建一个仅包含新裁剪的 Bitmap
  • 如何从 std::vector 中删除元素而不调整其大小

    迭代器擦除 迭代器位置 迭代器擦除 首先是迭代器 迭代器最后 擦除元素 从向量中删除 容器可以是单个元素 位置 或一系列元素 第一个 最后一个 这有效地减少了向量 大小除以元素数量 删除 调用每个元素的 之前的析构函数 and remove
  • 指向指针的指针和指向二维数组的指针之间的区别

    如果我有一个二维数组 B 定义为 int B 2 3 1 3 5 2 4 6 Is int p B与 一样int p 3 B int f B printf d f 1 gives 5作为输出 同时printf d f 给出 1 作为答案 为
  • 在 Windows 服务中使用 OleDb 从 Excel 读取数据?

    免责声明 我知道这是一种不好的做事方式 这是我们与客户的唯一选择 Problem 我们需要每隔 x 时间从 Excel 文件读取数据 数据通过第三方 Excel 插件不断变化 应用程序的环境是 Windows XP SP1 和 Net 2
  • 测试从 ComboBox 派生的自定义控件

    我创建了一个从 ComboBox 派生的控件 并希望对其行为进行单元测试 但是 它在我的单元测试中的行为似乎与实际应用程序中的行为不同 在实际应用程序中 Combobox DataSource 属性和 Items 同步 换句话说 当我更改
  • 持续运行的 C# 代码 - 服务还是单独的线程?

    我有一个 NET 4 Web 应用程序 它有 3 个关联的独立项目 DAL BAL 和 UI 我正在使用实体框架进行数据库交互 我有代码循环遍历一堆数据库数据 根据找到的内容调用方法 然后更新数据库 我希望这段代码一直运行 同时 我希望用户
  • 解析通过asp:FileUpload上传的XML文件

    我有一个场景 用户将上传 XML 文件 我想将该文件添加到数据库中的表中 不过 困难的部分是我需要解析文件 然后将一些信息添加到一些不同的表中 显示如何获取 XML 文件的每个示例都使用 URI 来获取文件 但是如何直接从数据库获取文件 或
  • UWP - 绑定枚举差异

    我遇到了一个非常有趣的问题 假设 UWP 应用中有以下 XAML 页面内容
  • argc 和 argv 在 Windows 中没有用吗?

    在 Linux 中 argc 和 argv 计算终端中的参数 但在 Windows 中 我找不到放置第二个参数的地方 事实上 每次我运行该程序时 它都会创建那个丑陋的黑色窗口 我什至没有机会给出任何争论 那么这两个变量在Windows平台下
  • Excel 2007 中的数值 - 底层 xml 文件中的表示与存储

    这个问题与 NET和OpenXml有关 我已经阅读了以下文章 它有很好的解释 但没有回答我的问题 Excel 2007 中数值的可视化与底层 xml 文件不一致 https stackoverflow com questions 58594
  • Subsonic 3 ActiveRecord 嵌套选择导致 NotIn 错误?

    我有以下 Subsonic 3 0 查询 其中包含嵌套的 NotIn 查询 public List
  • 矩阵行列式算法 C++

    我是编程新手 我一直在寻找一种找到矩阵行列式的方法 我在网上找到了这段代码 但我很难理解这里的算法 我对递归的基础没有问题 但继续和主循环我很难理解 非常感谢任何可以向我解释该算法的人 int determ int a MAX MAX in
  • 使用反射检测属性的访问修饰符类型

    我编写了一些代码来使用反射查看属性 我已经使用反射从类中检索了属性列表 但是我需要查明该财产是公共的还是受保护的 例如 public string Name get set protected int Age get set Propert
  • 具有可导出私钥的证书的“错误密钥”例外

    我正在尝试使用非对称加密来加密然后解密文件 我已经使用 makecert 创建了一个测试证书并将其安装到我的个人本地计算机存储中 将来我必须在多个服务器上安装此证书 这就是为什么我使用 pe 标志创建它 即使用可导出的私钥 证书已成功创建并
  • RC4 实现与 openssl 输出不匹配

    我的目标是在 C C 中实现 RC4 流密码 并确保它产生与使用时相同的输出openssl命令 按照伪代码维基百科 https en wikipedia org wiki RC4 该实现似乎有效 因为它可以加密和解密内容 但是 加密的输出与

随机推荐

  • 使用 x-www-form-urlencoded 的 HttpClient POST 请求

    我正在尝试发出 POST 请求x www form urlencoded内容类型标头如下 login username password Observable
  • 取消转义 Ruby 字符串中的特殊字符序列

    我正在从包含如下序列的文件加载文本 abc ndef tghi 我想 转义 所有特殊字符 例如来治疗 n作为换行符和 t作为选项卡等 而不是自动以例如 n or t在字符串中 是否有捷径可寻 文本将按照文件中的原样加载 如果文件具有文字文本
  • 403 错误代码 Google Drive Python 已超出此文件的下载配额

    我使用 Google Drive Python 库https developers google com drive v3 web quickstart python step 1 turn on the api name https de
  • WCF REST 请求拦截器身份验证

    我正在尝试在 WCF RequestInterceptor 中进行一些基本身份验证 我在用本文 http msdn microsoft com en us library ee391967 aspx作为一个开始 我遇到的问题是拦截器和服务之
  • 在 Flask 中返回 Excel 文件

    我正在 python 3 中构建一个 Flask 应用程序 我正在尝试写入输出并响应下载 我所做的就是将 sqlite3 db 内容写入 Excel 文件 尝试发送到客户端进行下载 一切似乎都工作正常 直到创建 Excel 文件 我无法发送
  • std::变换和移动语义

    我正在使用 Boost Filesystem 在目录中创建文件列表 我用boost filesystem recursive directory iterator and std copy将每个路径放入 std vector 作为boost
  • 使用一个 UIViewController 和两个 XIB 处理 iPad 上的方向变化

    我想用一个 UIViewController 和两个 XIB 例如 MenuView 和 MenuViewLandscape 来处理 iPad 应用程序上的方向更改 那么 在 MenuViewController 的 willRotateT
  • 使用 Prism 和 IsNavigationTarget 处理嵌套视图,可能返回 false

    I m trying to find solution for the following problem I have a WPF app I used mvvm and prism most recent version 7 to bu
  • 如何在 C++ 中退出时运行函数

    我有一个函数 我想在程序退出时运行 void foo std cout lt lt Exiting lt lt std endl 如何将其注册为在程序存在时运行 无论程序何时以及为何退出 由于信号 exit 调用等 您可以使用适当命名的st
  • 如何避免内存泄漏? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • __doPostBack 在 Firefox 中不起作用

    doPostBack 在 firefox 3 中不起作用 尚未检查 2 一切在 IE 6 和 7 中都运行良好 甚至在 Chrome 中也能运行 这是一个带有 OnClick 事件的简单 asp LinkBut ton
  • 让子弹朝玩家面对的方向发射

    当我意识到他们只会走时 我刚刚得到一些帮助来弄清楚如何让我的玩家发射子弹 有点预料到这一点 但因为只有 y 的移动值 我不知道如何让子弹朝玩家面对的方向发射 我知道该怎么做 但我只是不知道该怎么做 我想我可以以某种方式使用这个游戏中的光标和
  • React-native fbsdk 构建错误

    我在运行命令react native run android 或 gradlew build 时收到以下错误 react native fbsdk generateReleaseResValues UP TO DATE react nati
  • 等待用户在 Node.js 中输入内容

    我了解 Node js 中异步事件的基本原理 并且正在学习如何以这种方式编写代码 但是 我遇到了以下情况 我想编写偶尔会暂停以供用户输入的代码 该程序并非旨在用作服务器 尽管目前它用于命令行 我意识到这是 Node 的非典型用法 我的目标是
  • win 7 上可以设置单步陷阱吗?

    我正在做所谓的 seh hooking 实际上它改变了内存区域的权限并在访问时捕获异常 因此它可以挂钩该函数 它使用单步陷阱 如下所示 info gt ContextRecord gt EFlags 0x100 恢复保护PAGE NOACC
  • 如何在 Android 应用程序中使用 OSM 地图?有没有关于在 android 中使用 OSM 的教程?

    我正在寻找教程 手册或步骤 将开放街道地图包含到我的 Android 应用程序中 我发现的只是一个具有更多功能的大项目 否则很多问题都没有关于 如何 的正确结论 有没有合适的博客 网站或文档可供新手参考 我不知道有任何教程 但这是我使用 O
  • Excel 列表框仅显示当前日期输入的条目

    我想请求您帮助仅显示当前日期的列表框条目 我这里有一个示例 其中包含先前日期输入的条目以及今天日期的条目 每次我输入另一个条目时 之前日期的条目仍然会显示 所以我想实现的是 当我今天输入另一种颜色时 我将看到今天输入的颜色 不包括之前日期输
  • Azure 流分析 -> 我对路径前缀到底有多少控制权?

    我想根据来自事件中心的一些数据设置前缀 我的数据是这样的 id 1234 我想编写一个类似于以下内容的 blob 前缀 foo id guid 最终我希望每个 id 都有一个 blob 这将有助于它如何被下游的一些事物消耗 我没有看到创建与
  • 使用 PHP 将数组插入 MySQL 数据库

    我想将以下数组存储在数据库中 insData array uid gt fbme id first name gt fbme first name last name gt fbme last name email gt isset fbm
  • 如何make_shared派生类?

    我想使用make shared