腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(8118)
视频
沙龙
1
回答
在
使用
奇怪
的
递归
模板
模式
(
CRTP
)时
计算
多维
数组
的
线性
索引
c++
、
templates
、
inheritance
、
c++20
、
crtp
我正在用C++编写一个
多维
数组
类,并希望有它
的
静态和动态内存版本。根据我
的
一个previous posts
的
回答,我
使用
CRTP
定义了一个基类,然后它可以访问派生类中具有连续内存
的
相应数据容器(std::array和std::vector)。我希望
在
基类本身中实现
多维
下标运算符(例如,访问4x3矩阵
的
(1,2)条目,该矩阵
的
12个条目连续存储在内存中),以避免代码重复。请注意,我刚
浏览 29
提问于2021-10-23
得票数 1
回答已采纳
1
回答
将
CRTP
与抽象类继承一起
使用
是否正确?
c++
、
inheritance
、
crtp
在
C++中
使用
CRTP
(
奇怪
的
递归
模板
模式
)和抽象类
的
继承是正确
的
吗?如果是这样,是否有任何与此构造相关
的
潜在问题?下面给出
的
代码片段描述了我
的
问题。virtual void method_02() = 0;是否有可能将抽象类继承也替换为
浏览 3
提问于2021-03-19
得票数 2
3
回答
如何在
CRTP
中实现析构函数?
c++
、
crtp
在
实现
奇怪
的
递归
模板
模式
(
CRTP
)
时
,析构函数是否需要是虚拟
的
?如果不是,什么是正确
的
非虚拟实现?Base<Derived>* b = new Derived;}Derived::~Derived()() 编辑:更新了示例以
使用
运行时多态性,以便需要
使用
虚拟析构函数进行适当
的
清理。
浏览 5
提问于2017-08-18
得票数 4
回答已采纳
3
回答
奇怪
的
重复出现
的
模板
模式
、AutoLists和C++
c++
、
crtp
我有点困惑,为什么
在
奇怪
的
循环
模板
模式
设计
模式
上有这么多
的
“仇恨”,例如,我正在读“游戏编程宝石3",里面有一个叫做autoLists
的
设计。它
使用
CRTP
为每种类型
的
对象创建一个
数组
。我
的
问题是: 为什么这是一件坏事呢?特别是针对AutoLists
的
想法,但在一般情况下,关于
CRTP
的
回答就足够了。
浏览 1
提问于2013-03-01
得票数 3
回答已采纳
1
回答
返回可变维数矩阵
的
下标
matlab
、
octave
我需要能够返回x1 x2
的
索引
...维数为LxLxL..xL
的
矩阵
的
元素
的
xd。维数d是提供给我
的
函数
的
一个变量。矩阵不存在,我有一个长度为L^d
的
线性
数组
。对于
数组
中给定
的
索引
i,我想知道矩阵中
的
等价
索引
。我已经可以
使用
一个简单
的
for循环来做到这一点,但是我很好奇是否可以
使用</e
浏览 1
提问于2012-01-19
得票数 2
回答已采纳
1
回答
微优化D交错阵列
d
、
micro-optimization
是否有理由将
多维
数组
线性
化为平面,以提高生产力?我
的
意思是,即使
在
假设
的
情况下,您也只是从编译器中获取指针操作,并在
计算
索引
时
显式地执行这些操作。那有什么意义呢?
浏览 3
提问于2013-10-08
得票数 0
回答已采纳
1
回答
是否可以组合部分
模板
专门化来生成隐式生成
的
共享代码路径?
c++
、
templates
、
template-meta-programming
我
在
考虑
模板
专门化,想知道是否有一种方法可以
使用
部分专门化来生成自动合并
的
两个不同
的
代码路径。 在这种情况下,我有一个
计算
引擎,我想让枚举在编译
时
选择不同
的
函数。
在
本例中,根据policy或scheme
的
不同,我希望在编译
时
使用
不同
的
函数。 我在想,我可以避免显式地部分专门化所有的变体。这个是可能
的
吗? 我已经包含了一个小
的
代码
浏览 15
提问于2020-08-24
得票数 2
回答已采纳
2
回答
每个派生类
的
C++分隔静态字段
c++
、
inheritance
、
interface
、
static
、
crtp
我想了很长一段时间来解决我
的
问题,最后当我没有其他想法
时
,我只能在这里问一下。简而言之。但我希望能够将所有这些类作为参数传递给一个
使用
这些静态成员
的
通用函数。所以我
在
考虑从一个基类继承它们。 当然,我不能简单地继承静态成员并期望它们
在
每个子类中都是唯一
的
。我试图
使用
奇怪
的
递归
模板
模式
(
CRTP
),但它也迫使我制作这个通用函数<e
浏览 0
提问于2017-08-01
得票数 4
2
回答
派生
的
奇怪
的
重复
模板
和协方差
c++
、
visual-studio-2010
、
templates
、
crtp
、
f-bounded-polymorphism
virtual Base * clone() return new Base();}; } };class Derived : public
CRTP
<Derived>
浏览 11
提问于2013-06-20
得票数 9
3
回答
父返回子中
的
C++函数
c++
、
inheritance
、
parent-child
、
setter
、
mutators
我希望我
的
类中
的
赋值器(Setter)返回this,以支持类似jQuery
的
a.name("something").address("somethingelse");。大多数事物
的
变更器都继承自Entity类(如名称或地址),但它们返回一个Entity对象,所以我不能对它们调用客户端变更器。const long int& range ) { _budgetRange = range; return *
浏览 1
提问于2011-12-20
得票数 7
回答已采纳
2
回答
派生类
的
c++类型列表
c++
、
template-meta-programming
、
crtp
、
loki
、
typelist
使用
CRTP
(
奇怪
的
递归
模板
模式
),您可以为基类提供从它派生
的
类
的
知识。创建一个存储从基类派生
的
每个类
的
实例
的
数组
并不难(参见示例) public: static std::vector<Base *> m_derivedInstances问题是,每当编译器看到一个从Base派生
的
新类
浏览 5
提问于2012-05-23
得票数 2
回答已采纳
3
回答
如何在C++
模板
中实现与Java Generics自界类型等效
的
类型
java
、
c++
、
templates
、
generics
我
在
Java语言中有一个小
的
算法集合,用于玩多个基于回合
的
游戏,如TicTacToe,Othello,Checker等。我
使用
Java Generics (自界类型)来做这件事,以便能够
使用
相同
的
算法,而不必专门为每个游戏更改它们。我
使用
自绑定类型
的
原因没有在这里展示,但它是
计算
函数所必需
的
。C++
模板
将我
的
Java代码迁移到C++。这就是我
的
方法,显然它不起作用
浏览 0
提问于2011-12-15
得票数 0
回答已采纳
2
回答
R:
在
.Call和C/C++包装器中
使用
Fortran子例程而不是.Fortran
的
优点?
c
、
performance
、
r
、
fortran
、
wrapper
我有一个R包,它
使用
了很多Fortran子例程来进行
递归
线性
代数
计算
的
嵌套循环(很大程度上依赖于BLAS和LAPACK例程)。作为Fortran
的
接口,我
使用
了.Fortran函数。我刚刚读到关于
在
C/C++中编写
的
子例程中
使用
.Call而不是.C,这让我思考,当
使用
Fortran子例程
时
,通过用C编写一个简单
的
包装器,然后调用Fortran子例程,<e
浏览 35
提问于2013-03-02
得票数 19
3
回答
使用
奇怪
的
循环
模板
模式
(
CRTP
)和其他类型参数
c++
、
templates
、
named-parameters
、
crtp
我尝试
使用
奇怪
的
循环
模板
模式
(
CRTP
)并提供额外
的
类型参数:class Base如果我可以
使用
name来表示This中参数
的
含义,那么这个bug会更容易理解:class Base { typename Subclass
浏览 0
提问于2011-04-16
得票数 12
回答已采纳
1
回答
C++:别名类型中
的
递归
依赖关系
c++
、
templates
、
using
它在我
的
计算
机上编译和运行,但我觉得
在
ValueClass中定义了一个
递归
依赖
的
ValueClass类型别名。你能解释一下编译器是如何解决它
的
吗?
浏览 0
提问于2019-01-17
得票数 2
回答已采纳
2
回答
在
虚拟方法中推断“this”
的
类型名
c++11
、
templates
我知道
在
C++中缺乏反射和基本
的
模板
机制,所以下面的示例无法工作。但也许有一种以另一种方式达到预期目的
的
黑客攻击?funct(); };
在
本例中,Derived::whatever()调用虚拟方法Base::funct(),并希望它将自己
的
类名(派生)传递给
模板
。decltype(*this)不仅不提供typename,而且还提供引用,编译器也不能预先知道funct是从派生调用
的
,这将要求funct()成为一个
模板
。但
浏览 1
提问于2019-03-15
得票数 1
回答已采纳
1
回答
CUDA共享内存中
的
扁平与
多维
数组
cuda
与库达共享内存中
的
多维
数组
相比,
使用
扁平
数组
有什么性能优势吗? 我知道,当涉及到主机内存空间
时
,扁平
数组
比
多维
数组
提供了某些优势,但我不确定这是否适用于gpu共享内存中
的
数组
。这主要是因为我看到了许多在共享内存中
使用
多维
的
代码示例,例如CUDA最佳实践指南中
的
矩阵乘法示例。
浏览 2
提问于2015-07-20
得票数 0
回答已采纳
2
回答
如何为所有派生类型部分专门化类
模板
?
c++
、
derived-class
、
partial-specialization
、
crtp
我想为基类和所有派生类部分专门化不能更改
的
现有
模板
(std::tr1::hash)。原因是我对多态性
使用
了
奇怪
的
递归
模板
模式
,并且散列函数是
在
CRTP
基类中实现
的
。如果我只想部分专门化
CRTP
基类,那么这很简单,我只需要写:struct hash我
浏览 1
提问于2009-06-23
得票数 10
回答已采纳
1
回答
性能优化嵌套循环
c++
、
templates
、
recursion
、
optimization
、
expression
我正在实现一个相当复杂
的
代码,在其中一个关键部分中,我需要考虑所有可能
的
数字字符串,遵循一定
的
规则。要解释我所做
的
事情,简单
的
实现就是这样一个嵌套
的
循环实现:for(int i = 0; i <= max.at(0); ++i)我
使用
递归
函数方法实现了这个想法:std::arr
浏览 0
提问于2018-10-07
得票数 0
回答已采纳
3
回答
为什么java可以将
多维
数组
传递给方法而不指定任何大小信息?
java
、
arrays
据我所知,我们可以将
多维
数组
传递给Java中没有大小信息
的
方法,如下所示:但是
在
C++中,只能排除最外层维度
的
大小,如下所示:现在我明白了,
在
C++中,'arr‘将衰减为一个指针,所以编译器需要知道
在
两个指针之间跳过多少元素。我
的
问题是,
在
Java下面发生
的
事情使它在这方面比C++更聪明,
浏览 2
提问于2014-11-12
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
如何使用C+原型模式轻松实现对象复制和动态创建?
TypeScript 4.1发布,新增模板字面量类型
Julia编程基础(九):数组并没有你想的那么简单
Python笔记-NumPy
搭建模型第一步:你需要预习的NumPy基础都在这了
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券