传参规范

正确选择参数:分清输入参数、输出参数,分清值参数和引用参数。正确地传递参数。
正确选择参数是通过值、通过引用还是通过指针传递,是一种能够最大程度提高安全性和效率的好习惯。
选择如何传递参数时,应该遵循一下准则。对于只输入参数:
1.始终用const限制所有指向只输入参数的指针和应用。
2.优先通过值来取得原始类型(如char、float)和复制开销比较低的值对象(如point、complex<float>)的输入。
3.优先按const的引用取得其他用户定义类型的输入;
4.如果函数需要其参数的副本,则可以通过值传递代替
对于输出参数或者输入/输出参数:
1.如果参数是可选的(这样调用者可以传递null表示“不适用的”或“无需关心的”值),或者函数需要保存这个指针的副本或者操控参数的所有权,那么应该优先通过(智能)指针传递;
2.如果参数是必须的,而且函数无需保存指向参数的指针,或者无需操控其所有权,那么应该优先通过引用传递。这表明参数是必须的,而且调用者必须提供有效对象。