首页 > 试题广场 >

关于函数输入参数的正确描述都有哪些?()

[不定项选择题]
关于函数输入参数的正确描述都有哪些?() 
  • 始终用const限制所有指向只读输入参数的指针和引用
  • 值传递只用于原始类型(int,float...)的输入参数
  • 优先按const的引用取得其他用户定义类型的输入
  • 如果函数需要修改其参数副本,则可以考虑通过值传递代替通过引用传递

37. 对于只做输入的参数:

a) 始终用const限制所有指向只输入参数的指针和引用。

b) 优先通过值来取得原始类型和复制开销比较低的值的对象。

c) 优先按const的引用取得其他用户定义类型的输入。
d) 如果函数需要其参数的副本,则可以考虑通过值传递代替通过引用传递。这在概念上等同于通过const引用传递加上一次复制,能够帮助编译器更好的优化掉临时变量。
http://www.cnblogs.com/hdk1993/p/4976073.html
编辑于 2015-11-18 22:22:31 回复(2)
A 只读数据不能被修改,采用const修饰就限制了对参数的修改  正确
B 反例:值传递可以传递类对象
C 常量的引用可以提高程序的执行效率,无需创建参数的副本,当然优先考虑
D 被调函数修改实参副本,传形参时通过值传递创建副本,不改变主调函数的实参,传递引用时可能伴随着主调函数实参被修改

发表于 2017-09-12 10:29:55 回复(1)
D不是都说了 修改参数副本吗?形参就是副本 所以值传递 就是修改的副本 而引用才是本身    D 错吗?
发表于 2015-11-18 21:24:34 回复(10)
D说的是修改参数副本,是副本,不是参数值,所以D描述是正确的、
发表于 2018-02-04 14:15:52 回复(0)
参考的意思不是d正确嘛
发表于 2016-03-26 13:35:08 回复(0)
引用允许我们使用现有变量的另一个名称来引用它。引用被用于简化代码、传递函数参数和创建操作符重载等情况。引用必须在定义时初始化,并且一旦初始化后,它将一直引用同一个对象,无法更改引用的目标。
发表于 2023-09-16 17:38:59 回复(0)
选项D说所的修改参数副本就是在函数内修改引用的参数,使用值传递不会改变原来的值,而引用传递会改变参数以前的值
发表于 2017-11-02 21:23:14 回复(0)
引用不是没有const嘛?
发表于 2021-07-26 16:01:08 回复(1)
以下是关于值传递、指针传递和引用传递;需要注意的是我在验证引用传递时,发现在.C文件不能识别,需要.cpp文件,即在C++才适用
发表于 2020-10-22 20:02:07 回复(0)
这题目描述不清楚,我以为问的是怎样做是好的而不是怎样才是对的
发表于 2018-10-25 10:50:00 回复(0)
A 只读数据不能被修改,采用const修饰就限制了对参数的修改  正确
B 反例:值传递可以传递类对象
C 常量的引用可以提高程序的执行效率,无需创建参数的副本,当然优先考虑
D 被调函数修改实参副本,传形参时通过值传递创建副本,不改变主调函数的实参,传递引用时可能伴随着主调函数实参被修改

发表于 2022-04-30 17:24:07 回复(0)
nh11推jjdhhdhd*djw荐
发表于 2021-10-22 21:08:17 回复(0)
A 只读数据不能被修改,采用const修饰就限制了对参数的修改  正确
B 反例:值传递可以传递类对象
C 常量的引用可以提高程序的执行效率,无需创建参数的副本,当然优先考虑
D 被调函数修改实参副本,传形参时通过值传递创建副本,不改变主调函数的实参,传递引用时可能伴随着主调函数实参被修改
发表于 2021-09-25 09:07:02 回复(0)

a) 始终用const限制所有指向只输入参数的指针和引用。

b) 优先通过值来取得原始类型和复制开销比较低的值的对象。

c) 优先按const的引用取得其他用户定义类型的输入。
d) 如果函数需要其参数的副本,则可以考虑通过值传递代替通过引用传递。这在概念上等同于通过const引用传递加上一次复制,能够帮助编译器更好的优化掉临时变量。
发表于 2019-11-24 00:11:37 回复(0)
参数副本,就用值传递。
发表于 2019-08-12 07:44:38 回复(0)
题目并没有提到参数只读。。。为什么C是对的,按理应该根据实际编程需求来呀。。。。
发表于 2017-07-14 17:31:52 回复(0)
针对于B选项,类似于在函数的调用中int f(int a[ ]) ,实参传入指针,也是值传递
发表于 2017-05-09 20:30:41 回复(0)
这个D选项的说法有点莫名其妙。
发表于 2016-11-06 21:31:51 回复(0)
值传递只用于原始类型(int,float...)的输入参数
这个为什么是错的,不是很懂C/C++

发表于 2016-09-12 12:17:50 回复(5)