C++预处理器+检测对象类型和新操作
C++ preprocessor + detecting object type and new operation
我目前在代码中有这个。
template<typename T1> class MONEYTRANSFER {
SOURCEACCOUNT<T1, MONEYTRANSFER> *SourceAccount; // Line 2
MONEYTRANSFER(T1 *src) {
SourceAccount = new (src) SOURCEACCOUNT<T1, MONEYTRANSFER>; // Line 4
}
};
虽然我知道这并没有那么乱,但我至少想试着让它看起来更好一点。
是否可以更改第2行,以便通过知道"MONETRANSFER"在哪个类中来自动检测它?
是否可以对第4行使用预处理器。因此,我可以键入bind(src, SourceAccount);
-而不必为新操作键入SourceAccount (SOURCEACCOUNT<T1, MONEYTRANSFER>)
的类型。
我试过decltype
,但没有成功?如有任何帮助,我们将不胜感激!
我会用基类mixin:来解决它
template<typename T1, typename T2> class WithSourceAccount
{
protected:
SourceAccount<T1, T2>* m_SourceAccount;
WithSourceAccount(T1* src)
: m_SourceAccount(new (src) SourceAccount<T1, T2>())
{ }
};
template<typename T1>
class MoneyTransfer : WithSourceAccount<T1, MoneyTransfer>
{
};
相关文章:
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 重载操作程序时出错>>用于类中的字符串 memebr
- 堆栈粉碎 在我在代码中添加新变量以及一些操作后C++检测到
- 宏如何在Tensorflow中添加新的操作时"REGISTER_OP("ZeroOut")
- 在c++中从包含新操作的python中创建的pb图创建图
- 是新的(&*p)双倍;一个无操作。因此,uninitialized_default_construct是否也变得无操作?
- 当我尝试在 tensorflow 中添加一个新操作时如何 #include "include/libxsmm.h"?
- 在张量流中创建新操作时指定形状句柄的形状(输出张量的秩问题)
- 在张量流中导入图形时使用新的操作
- 访问新创建的操作时出现问题
- 将字符数复制到新字符串位置的字符串操作,例如 S[0]
- 无法获得新的 tf。在 Tensorflow 中的 Python shell 中工作的操作
- 在新的 c++11 项目中,我是否应该默认删除任何操作
- C++预处理器+检测对象类型和新操作
- 使用新操作器创建多个对象
- 为线程设置新优先级时不允许操作
- C++使用新操作制作 int 数组
- 如何制作一个在每次输出操作后插入新行的流
- Linux c++新操作慢得令人难以置信
- C++提供"切片"操作的字符串类(不创建新的字符串副本)