Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否有一个相当于“C”的词;var";C++/CLI?_C#_.net_C++ Cli_Type Inference - Fatal编程技术网

C# 是否有一个相当于“C”的词;var";C++/CLI?

C# 是否有一个相当于“C”的词;var";C++/CLI?,c#,.net,c++-cli,type-inference,C#,.net,C++ Cli,Type Inference,在C#中,我喜欢在这种情况下使用var关键字: var myList = new List<MyType>(); List<MyType ^>^ myList = gcnew List<MyType ^>(); var myList=new List(); C++/CLI中是否有任何等效项,或者是否每次都必须重复类型名,如下所示: var myList = new List<MyType>(); List<MyType ^>^

在C#中,我喜欢在这种情况下使用
var
关键字:

var myList = new List<MyType>();
List<MyType ^>^ myList = gcnew List<MyType ^>();
var myList=new List();
C++/CLI中是否有任何等效项,或者是否每次都必须重复类型名,如下所示:

var myList = new List<MyType>();
List<MyType ^>^ myList = gcnew List<MyType ^>();
List^myList=gcnewlist();

到目前为止,在文档或Google中找不到明确的声明。我使用的是Visual Studio 2008。

C++有typedef。只需将这些毛茸茸的类型别名为typedef,并使用友好的名称


不,没有“var”关键字。模糊地回忆起boost中有这样的效果。

我知道类型推断是在:


目前,还没有类似的工具。

C++0x将有一个自动关键字:

在VisualStudio2008中,没有类似的工具。但是,VisualStudio 2010可以使用<代码> Auto <代码>关键字实现<代码> var >代码> C++中的语义。我知道这是用非托管C++来工作的,我也很肯定它也适用于C++和CLI。p> 另一方面,我从未意识到有多少
List^
似乎包含了一个非常快乐的表情符号。好吧,typedef有时可能会有所帮助,但是,例如,“typedef List^ListMyType”并没有得到多少好处。你可以将它键入更短的内容,比如
List
。它不一定是一个全局唯一的名称,只是在使用它的上下文中是唯一的。这是C++0x中的一个功能,不是吗?是的,这是C++0x的一个功能。我不是100%确定,但我似乎记得C++0x功能此时不会被移植到C++/CLI。他们只是没有自动取款机的资源。从长远来看,它肯定会添加到C++/CLI中,但我认为它不会出现在VS2010中。我可能是错的,这正是我在VCTeam博客上读到的内容。不,不是,因为C++0x听起来更好,而且它的优点是每个人都习惯这个名字,并且知道它指的是什么。@Yacoder:除了jalf说的,如果今年获得批准,我们也可以将其命名为C++0A。下一个标准的代码名仍然是C++0x,即使我们已经有了2010。“自动”已经是一个关键字。他们只是回收了它@Simon_Weaver用于将变量的范围定义为当前块的末尾。