/**
* @param[?] u
*/
T func(U&& u);
参数u
可以由func
修改,而修改后的状态应该被忽略,因为它是一个r值参考。
我还没有找到任何关于这方面的信息,包括Doxygen手册。
你不应该从"它是一个参考,所以这意味着X";。您应该考虑u
对函数意味着什么,以及函数对它做了什么。仅仅从u
移动不足以将其声明为[inout]
参数。当函数有意为其设置期望用户使用的值时,应使用[inout]
或[out]
。如果从右值引用参数移动,则用户的参数不再有值。这与";输出";。
事实上,右值引用参数不能绑定到左值参数(直接(。这意味着用户不能只调用func(some_variable)
;他们必须明确地进入其中:CCD_ 9。这种拼写感觉不像是一个输出值;它正在将的内容转移到函数中。如果用户期望some_variable
具有新的值,尤其是因为func(some_type());
将有效地丢弃";输出";价值