我想提高代码的可读性.所以我在代码中评论了参数的方向,如下所示:
#define IN
#define OUT
void Add(IN int Para1, IN int Para2, OUT int& Result);
Run Code Online (Sandbox Code Playgroud)
但我认为编译器会用空白替换IN和OUT的每个实例,有时可能会出现相当大的问题.
那么还有更好的方法吗?谢谢.
(我使用的是C++.)
您可以尝试将其放入评论中.这更好,更易读.
void Add(/*IN*/ int Para1, /*IN*/ int Para2, /*OUT*/ int& Result);
Run Code Online (Sandbox Code Playgroud)
是的:忘掉那些东西并使用constness.只要您没有"输入"和"输出"参数,这将是有效的,这应该很少使用.
void foo(int i, const std::string& s, std::vector<char>& out_buf);
// i and s are obviously "in" variables, while out_buf could be both,
// but you can easily show that by giving the parameter a proper name.
Run Code Online (Sandbox Code Playgroud)
编辑:和const正确并不意味着使值参数const!这根本不会给调用者任何额外的信息,因为你不能以任何方式改变他的变量.