在函数的参数传递中,如果传递的普通的参数,实际上函数执行的时候,在函数体里运行的数据是原始数据的copy,如果传递的参数是指针,reference,或者是array的名字,那么传递的实际上是地址,这种情况下,参数的内容会在函数体内被修改。
传递copy的时候有一条好处,就是原始值不会被改变,但是代价是耗费存储空间,并且耗费时间;传递指针或者reference,会提高函数的运行效率,但是必须十分注意参数值的变化。
今天看到了一条比较有用的写代码的技巧:
如果传递的参数是需要被修改的参数,那么传递的参数类型就设为指针类型。
如果希望传递的参数不被修改,并且数据量不大,那么就传递值(pass-by-value)。
如果希望传递的参数不被修改,并且数据量很大,那么就传递const类型的reference。