正确答案: B 你的答案: D (错误)
地址传递
单向值传递
由实参传给形参,再由形参传回实参
传递方式由用户指定
个人认为:这里的简单变量应该是指内置类型,内置类型数据在传入函数时,使用值传递方式的效率要高于引用传递和指针传递,因此编译器会采用效率最高的方式来实现参数传递,所以选B(当然也允许用户更改),事实上包括STL中的迭代器和函数对象也都是默认采用值传递的方式来实现的。
至于其他类型如自定义类,如果采用值传递则会涉及拷贝构造函数和析构函数的调用问题,通常会影响性能,所以一般采用引用和指针传递的形式,通常交由用户决定。
一点题外话:有人说设计自定义类型的最高境界是让他无限接近内置类型,不无道理。
编辑于 2018-04-19 21:35:36