在c ++中,你有像c#中的"out参数"吗?
在c#中,方法签名将是:
bool TryGetValue(int key, out OrderType order)
Run Code Online (Sandbox Code Playgroud)
这个想法是在传递之前可能没有分配变量,但必须在退出方法之前分配.
MSDN out params链接:http://msdn.microsoft.com/en-us/library/aa645764( v = vs.71).aspx
out在C++中没有像C#参数那样严格的内容.您可以使用指针和引用来传回值,但编译器无法保证它们已在函数内分配.他们离C#更近ref了out
// Compiles just fine in C++
bool TryGetValue(int key, OrderType& order) {
return false;
}
Run Code Online (Sandbox Code Playgroud)