我刚刚读到了C ++中的向量。它们似乎与Python中的列表类似,但它们只能获取声明中指定的数据类型的值。例如:
vector<int> intlist;
仅采用int
类型数据。而Python中的列表采用任何类型的数据。我尝试通过编写:
vector<auto> list;
但它导致了错误的编译。我不确定为什么会发生这种情况,因为它适用于其他数据类型。
答案 0 :(得分:2)
auto
不是变体类型,它只是您可以在代码中使用的快捷方式,当编译器可以推断出类型时。
在Python列表下面是变体的一些实现,我建议使用boost::python
来管理C ++ - Python交互。
答案 1 :(得分:2)
你做错了。
C ++是强类型的。 auto
是在编译时可以确定变量类型时使用的关键字,这不是您想要的。
如果你需要一个不同类型的对象矢量,你必须使用像boost::any
这样的库。
编辑:
C ++是静态类型的,Python是dinamically类型,这是不同的。感谢@Angew纠正我的错误。