SimpleMLXG 2020-03-09 16:03 采纳率: 0%
浏览 447
已采纳

c++多选题求大佬帮忙!!!!

下面有关C++的一些叙述中,错误的有( )
A)程序片段“int j=10,k=11,&i=j; i=k; k=12; std::cout<<i<<' '<<j<<' '<<k;”输出:12 12 12
B)引用变量定义时必须进行初始化,在程序中对引用的存取都是对它所引用的变量的存取,可以取引用的地址,引用变量不能再指向别的变量。
C)返回引用必须保证返回的引用变量有合法的内存空间,并且不在函数的运行栈中。
D)使用const常引用参数不需要制作数据的副本,所以可以提高程序的运行性能。
E)有函数“void f1(int n);”声明,则:可以在函数内修改n,但值不会影响调用者;可用表达式或变量作为实参调用该函数。
F)有函数“void f2(int &n);”声明,则:可以在函数内修改n,值会影响调用者;可用表达式或变量作为实参调用该函数。
G)有函数“void f3(const int &n);”声明,则:不可以在函数内修改n;只能用同类型的变量作为实参调用该函数。

  • 写回答

1条回答 默认 最新

  • Timothy6 2020-03-09 18:42
    关注

    A.错误,i是j的引用,在执行i=k的时候是相当于把k赋值给了j,即11;而这之后k=12k变成了12,因此输出时j是11,i由于引用j也是11,而k是12

    B.可以说是对的。但是要注意取引用的地址是取它所引用的变量的地址

    C. 正确。在函数的运行栈里的变量是局部变量,函数一旦结束就销毁了,引用失效

    D. 正确,不多说

    E. 正确。形参与实参结合的效果有些**类似于**用实参初始化(复制构造)形参,也就是说,形参只是一个拷贝,与实参是两个不同的变量,用不同的内存空间

    F. 错误。我们说的引用时左值引用,而表达式的值不一定是左值,很可能是右值,不能被左值引用所引用

    G. 正确。不能通过const常引用改变其引用的值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法