我是C语言的新手,我的背景是Java.我必须将一些代码从Java移植到C,并且相对于Object Java的类产生了一些疑问.因此,如果我要移植此:
void setInputParameter(String name, Object object) { ..... }
我相信我应该使用void *类型或模板对吗?我不知道完成此操作的“标准”程序是什么.
谢谢
解决方法:
这取决于您要对对象做什么.
如果使用模板,则您在对象上调用的任何方法都将在编译时绑定到对象类型.这是类型安全的,并且是可取的,因为对该对象的任何无效使用都将被标记为编译器错误.
您还可以传递一个void *并将其强制转换为所需的类型,假设您已经知道某种方式了.这更危险,更容易受到代码中错误的影响.您可以使用dynamic_cast<>使其更加安全.启用运行时类型检查.