![]() |
1
12
当然(代码未经测试,我可能遗漏了一些关于成员指针和类型推断的问题,或者我可能只留下了bug):
显然,您可以使用functor类型的模板参数,但这是最接近Perl的方法,而无需实际在对象中构建字典并滚动自己的调度。如果需要的话,您还可以将这些对docheck的调用进行宏ISE,并使用一些标记粘贴使其更短一些:
使用额外的预处理器向导,您可能会使它成为一个循环,不确定。看看Boost预处理器库或混沌预处理器。 |
![]() |
2
2
我认为您需要滚动自己的间接方向,可能需要使用std::map来存储“foo”、“bar”和“baz”的键,这些键的关联值是带有“get_log”方法的对象(假设您不需要在get_foo()返回的对象上使用get_foo_log())。在Perl EESE中,它可能会更改为以下内容:
|
![]() |
3
0
C++不支持动态方法。
但是30/40行代码可以通过函数调用完成:
显然,你使用C++的方式对你来说似乎很自然: 所以我有几个问题:
|
![]() |
4
0
请你多解释一下你的问题好吗 一次能把这三个都做出来吗? 也就是说,这三个条件都是真的 1)如果(obj->有foo) 2)如果(obj->有\u条) 3)如果(obj->has_baz) 我建议您编写一个具有公共功能的基类。驱动这三个foo,bar和baz从那个基类,现在使用基类指针来执行调用。S 所以您不需要为这三个部分重复代码。 |
![]() |
AstralHex · 矩阵乘法代码工作不正常 5 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 5 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 5 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 5 月前 |