|
|
1
1
简而言之,你可以这样做,它不是非法的,不好的或未定义的,你可以让它工作-但你应该只有当你有一个非常迫切的需要做的事情以外的正常语言范围。另外,当C++ 0x变成标准,现在你需要移动,剩下的所有代码都会死掉。
等等,你也没有在运行时执行类型安全?你刚刚破坏了编译时类型安全,但没有替换它?让我发布一些更高级的代码(可能会慢一些)。 编辑:哦,等等。你想在运行时将动态结构转换成任意未知的其他结构吗?哦。哦,伙计。哦,说真的。什么。只是不。只是不要。真的,真的,不要。那太错了,难以置信。如果你有反射,你可以做这个工作,但是C++不提供这个。您可以使用带有继承的动态类型转换和类型擦除,在运行时为每个成员强制执行类型安全性。不是针对整个结构,因为给定一个类型T,您无法判断类型或二进制布局是什么。 |
|
2
1
|
|
3
0
我有一个问题:你从中得到了什么? 我是说这是一段很聪明的代码,但是: 我真正想知道的是你到底想要什么。。。 例如,使用 Boost.Fusion
不过,这并不像一个典型的声明那么冗长
这比您的解决方案有几个优点:
|
|
AstralHex · 矩阵乘法代码工作不正常 8 月前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 8 月前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 8 月前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 8 月前 |