腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如何
使用
CRTP
创建
少量
对象
?
、
、
我编写了小示例
CRTP
模式,以便更好地学习它,并在更复杂的代码中
使用
它。我想
使用
CRTP
,这个基类可以访问派生类。一切都好,但是我不能为我的基类
创建
几个
对象
。如果我第一次调用两个
对象
Base<Derived1> base1; Base<Derived2> base2;的构造函数,第二次调用每个
对象
base1.PrintDerived_FromA(); base2;结果:
浏览 7
提问于2019-10-21
得票数 1
回答已采纳
1
回答
与std::any vs虚拟函数一起
使用
的
CRTP
、
、
、
我正在尝试
创建
一个不需要虚拟函数的编译时多态性设计,它有所有的缺点。但是,我很难
创建
简单、有效和易于理解的容器,它可以模拟在它的基类容器中保存派生类的能力。但是,我
创建
了一个运行时容器来存储std::any
对象
,然后根据
对象
的类型,我可以定义应该采取的操作。我没什么问题。与
使用
虚拟函数相比,std::any和后续any_cast<>()的
使用
是
如何
阻碍性能的? 在这种情况下,std::any的用法有效吗?是否有一种方法可以强制实
浏览 6
提问于2021-06-20
得票数 0
2
回答
C++:
CRTP
:
如何
知道所有
对象
的计数?
、
我需要你们的帮助(可能是基本问题,抱歉)在
CRTP
。这是基于以下帖子:
使用
CRTP
,我们可以计算为每个类类型
创建
的
对象
数量。但是,
使用
这种方法,我无法找到在系统中
创建
的
对象
总数。
浏览 12
提问于2014-02-22
得票数 1
回答已采纳
2
回答
为什么不能
使用
CRTP
的类型,却可以调用
CRTP
的方法?
、
此代码只在调用
CRTP
的方法时编译和工作:struct
crtp
// using type = typename
CRTP
::type;// will not compile { using type = typename
CRTP
::type; // compiles
crtp
<
浏览 2
提问于2022-08-31
得票数 -1
1
回答
C++
对象
生存期分析
、
、
ObjectInfo类是一个诊断类,用于跟踪统计数据,如生命周期和
对象
数量。一个特定的类继承自ObjectInfo,如下所示。然后,在分析的类的主体中声明该特定类的成员。也很难扩展分析类来收集不同的信息,比如
对象
的大小。是否有可能实现一个检查,以确定已分析类的
对象
是在堆栈还是堆上
创建
的?Object: " << m_className << "# " << m_objectNumber
浏览 0
提问于2013-02-24
得票数 2
回答已采纳
2
回答
CRTP
复制方法警告潜在内存泄漏
、
、
、
我有一个
对象
层次结构,需要能够从基类复制
对象
。我遵循了典型的
CRTP
模式,但我也希望能够返回子类,如果直接调用子类的话。我已经将代码简化为MCVE:class
CRTP
{ virtual
CRTP
<T> *internal_copy(void)public: return static_cast<T*>(internal_co
浏览 11
提问于2016-12-11
得票数 6
1
回答
使用
CRTP
时
对象
切片
、
、
在
使用
CRTP
时,我遇到了一个
对象
切片问题。下面的模拟说明了我的问题。= CrtpDirv1::create();
crtp
_obj->funct2();
浏览 1
提问于2016-03-30
得票数 0
回答已采纳
1
回答
通过
CRTP
模式通过值传递的统一副本
我正在
使用
CRTP
模式,并试图定义应用于其实现的操作符。我发现了一个奇怪的未初始化
对象
的行为。
CRTP
基类:struct
CRTP
using self_t = C; { returnstatic_cast<const self_t&>(*this); } { const
CRTP
&
浏览 0
提问于2015-08-17
得票数 4
回答已采纳
2
回答
如何
将变量
CRTP
基类设置为派生类的朋友
、
、
、
、
问题的主要部分是
使用
CRTP
和一个基于策略的设计和可变模板。从策略中无法到达主/派生类中的受保护成员或私有成员。由于
使用
了各种模板,所以我不能像朋友一样声明策略。问题是,
如何
将所有策略类设置为派生类的朋友。 考虑到这个
CRTP
解决方案,什么是支持多个继承级别,并解决了钻石问题,没有虚拟继承。NoDerivedClassTag>, Object> || std::is_base_of_v<Interface<typename Object::exact_type>,
浏览 5
提问于2020-04-27
得票数 0
1
回答
使用
CRTP
作为析构函数安全吗?
、
、
CRTP
可以像调用虚拟函数一样调用子类方法,尽管在运行时解析了虚拟函数。如果它不是不安全的,那么多重继承情况
如何
?例如,struct
CRTP
{ { static_cast<V*>(static_cast<A,
浏览 0
提问于2018-04-26
得票数 0
回答已采纳
1
回答
是否在
使用
CTRP时访问父构造函数UB中的子属性?
、
、
、
、
我
使用
CRTP
,我的基类/父类构造函数
使用
CTRP中的标准方法调用子方法。但是,该子方法
使用
它自己的子类的属性,如果这些属性是特定类型的,例如std:: string,则似乎会导致运行时问题(例如MSVC上的糟糕分配,以及GCC上的'what():basic_string::任何能给出
如何
解决这个问题的建议的人都可以得到额外的分数。是否应该/可以添加父类调用以初始化子变量的"Init“”虚拟“CTRP方法?一般情况下,我应该避免调用构造函数中的子方法吗?
浏览 0
提问于2018-10-17
得票数 1
回答已采纳
1
回答
使用
具有接口的
CRTP
、
、
、
、
由于性能原因,我计划
使用
CRTP
而不是虚拟调度。但是,我希望将编码的便利性保持在继承和虚拟方法附带的单个接口上。让我的专业类既继承
使用
CRTP
保存公共代码的模板抽象类,又继承纯虚拟类,这样我就可以
创建
每种类型的实例,但客户端代码只依赖于接口,这样可以吗?更好的是,
如何
使用
CRTP
为客户端代码提供一个接口,同时具有多个实现?
浏览 1
提问于2016-12-01
得票数 8
回答已采纳
1
回答
C++获取std::variant当前帮助类型的std::typeindex
、
、
、
、
如何
通过c++中的变体获取当前类型的std::typeindex帮助?假设我有一个变体:我希望能够
创建
函数: //ctor
浏览 55
提问于2019-11-16
得票数 0
回答已采纳
3
回答
奇怪的重复出现的模板模式、AutoLists和C++
、
它
使用
CRTP
为每种类型的
对象
创建
一个数组。为什么这是一件坏事呢?特别是针对AutoLists的想法,但在一般情况下,关于
CRTP
的回答就足够了。我的目的是在一个实体组件系统中
使用
它,这样我就可以很容易地分离出每种类型的组件。
浏览 1
提问于2013-03-01
得票数 3
回答已采纳
1
回答
为什么
CRTP
中的下流定义行为?
、
、
、
我
使用
CRTP
模式已经有一段时间了,然而,读到关于与下线转换有关的未定义行为的答案时,我不明白为什么static_cast<Derived&>(this) ( this类型为Base<Derived>*但是看看类似的问题, Base base{190}; A& a = static_cast<A
浏览 0
提问于2019-02-19
得票数 4
回答已采纳
2
回答
实例化适当类型的多态成员变量
、
接下来,将始终指向调用grow
对象
类型的
对象
。 c->grow(0);输出是正确的:a基a派生a派生a派生 总之:我想要一个解决方案来消除繁琐的get_new,我希望Base::grow能够根据调用
对象
的类型确定要
创建
的类型我考虑过
使用
解密格式,但没有成功。
浏览 0
提问于2015-05-04
得票数 1
回答已采纳
3
回答
CRTP
使用
率高吗?为什么是/不是?
、
但我不得不承认,我在野外没有看到多少
CRTP
代码。 很难理解吗?总体来说,虚拟功能更容易吗?它不应该用于90%的虚拟关键字出现的情况吗?
浏览 0
提问于2011-12-07
得票数 11
回答已采纳
1
回答
CRTP
与直接实现“派生”中的函数
、
、
我正在努力对
CRTP
有一个更好的了解。到目前为止,我的理解是它允许编写如下所示的函数。template <class T>现在,根据传递给函数foo()的实际编译时派生
对象
x,它会做不同的事情。因此,什么时候
使用
CRTP
是正确的,而不是最简单的例子,它展示了
CRTP
相对于阴影/掩蔽的优势。
浏览 2
提问于2011-08-30
得票数 4
回答已采纳
1
回答
如果
使用
CRTP
,派生类方法是否覆盖该方法的基类版本?
、
、
、
几天前,我发现了一个有趣的C++构造,名为奇怪的反复出现的模板模式(通常用缩写
CRTP
)。从那时起,我一直试图充分理解这个技巧是
如何
工作的。但它是
如何
工作的细节呢?我的理解是。假设我有Circle c。 如果编译器看到此声明,则
使用
参数GraphicalObject Circle实例化该模板是一个信号。方法的特殊版本
创建
了struct。在我看来,这将导致在GraphicalObject<Circle>
对象
中
创建
c实例。是对的吗?请您告诉我,我对
CRT
浏览 7
提问于2021-03-19
得票数 0
回答已采纳
2
回答
C++调用另一个子类的公共方法
、
是否有一个优雅的版本来访问另一个子类的方法?为了更好的理解,请看我的c++代码。C++代码: protected: std::string givenname; std::string birthday; public:
浏览 2
提问于2018-07-19
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
如何使用Python创建可视化对象
如何使用C+原型模式轻松实现对象复制和动态创建?
如何使用Mendix创建REST 服务
如何使用CHARTJS创建JAVASCRIPT图表
如何应用GOF设计模式中的创建型模式实现松耦合地创建对象实例
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券