我是C ++的新手,我有一个案例,其中vb.nets Dim或C#s var对我有很大的帮助。
我搜索了一下,我发现没有问题吗? (尽管使用var或dim和C ++的搜索术语似乎很容易偏离)是否有相同的内容?
答案 0 :(得分:9)
不符合现行标准。
然而,可能在今年到期的新版本(很可能称为C ++ 11,但它通常也被称为C ++ 0x)的auto
与{var
相同。 1}}。
最新版本的all big compilers已经支持它。
例如:
auto MyValue = SomeFunction(); // The compiler will figure out the type of MyValue
答案 1 :(得分:4)
您可能正在寻找C ++ 0x中的auto
keyword。
答案 2 :(得分:4)
根据我的评论,Dim做了很多不同的事情。
如果您正在寻找可以是任何东西的变量,或者像
那样的东西Dim var
var = 1
var = "Hello"
Set var = new Thing
您可以使用
悬崖说明:
boost :: any会对你有用
答案 3 :(得分:1)
在C ++中,您可以使用union
或使用基类和继承。
union
允许您在内存中有一个区域,并以不同的方式组织它。基类和继承允许您以通用方式处理子对象。
union
{
int value;
double floating_point;
};
在上面的union
中,整数value
和双精度floating_point
变量占据相同的区域(联盟中的 )。
union
可能是与变体记录最接近的数据结构。 Boost库还有一个 variant 数据结构,在网上搜索“boost variant”。