精华内容
下载资源
问答
  • 2022-03-14 11:27:00

    作用:常量引用主要用于修饰函数形参,防止误操作。

    在函数形式参数列表中,可以使用const修饰形参,防止形参改变实参。

    void fun(const int &val)
    {
        //val = 160;    //不可修改,val是一个常量引用
        cout << "val = " << val << endl;
    }
    
    int main(int argc, const char *argv[])
    {
        //使用场景:一般修饰形参使用
        //int &ret = 10;    //错误    左值为变量,右值为常量    
        //引用必须引用一块合法的空间,ret = 20;等价于给常量赋值
    
        const int &ret = 10;    //正确    左右值均为常量
    
        /*
        int temp = 10;
        const int &ref = temp;
        ref -->别名
        temp-->原名
        */
    
        int height = 180;
        fun(height);
    
        return 0;
    }

    更多相关内容
  • 1.常量形参形参有顶层const或者底层const的时候,传给它常量对象或者...*this的默认类型是type *const this,this指针有一个顶层const,但并没有底层const,由于低层const的限制,有底层const的实参不能拷贝给默认
  • 满意答案赞v_安子诺2017.09.01采纳率:48%等级:9已帮助:215人函数名后面的形式参数表列可以是常量!C语言中函数有三个概念:定义 声明 调用函数定义:自定义一个函数,并完成相应的代码实现,如:int max( int a...

    满意答案

    00e27ab806e4881f8254fe7ae8741834.png

    赞v_安子诺

    2017.09.01

    00e27ab806e4881f8254fe7ae8741834.png

    采纳率:48%    等级:9

    已帮助:215人

    函数名后面的形式参数表列不可以是常量!

    C语言中函数有三个概念:定义 声明 调用函数定义:自定义一个函数,并完成相应的代码实现,如:

    int max( int a, int b ) //小括号中的 a, b被称为形参,用来对应相应的实参,因为这里的形参可对应任意的实参值,所以,必须以变量形式体现。

    {

    return (a>b)?a:b ; //返回a b中的大数

    }函数声明:用来描述一个函数的格式,在调用函数前列出。如:

    int max( int , int ) ; //这里可以省略形参变量,只列出形参类型即可。函数调用:调用一个已实现的函数,完成相应的功能,如:
    void main()

    {

    int x=5,y=10 ;

    printf( "max is %d\n", max(x,y) ); //这里的x,y被称为实参,可以是变量,也可以是常量。

    printf( "max is %d\n", max(5,10) ); //常量作为实参。

    }

    00分享举报

    展开全文
  • 形参可以是常量、变量或表达式 C. 实参可以任意类型 D. 形参应与其对应的实参类型一致更多相关问题()是调整商事关系的法律规范。18.下列属于“政善治”的观点是17、周易是哪个朝代的易经?称为可变脂的是衡量一...

    【单选题】在C语言中以下不正确的说法是

    A. 实参可以是常量、变量、或表达式 B. 形参可以是常量、变量或表达式 C. 实参可以为任意类型 D. 形参应与其对应的实参类型一致

    更多相关问题

    ()是调整商事关系的法律规范。

    18.下列不属于“政善治”的观点是

    17、周易是哪个朝代的易经?

    称为可变脂的是

    衡量一个人道德水平高低的主要标志是看其道德行为。

    普通民众参与法律实践培养法治思维的方式和途径有很多,但不包括()。

    测定血清中ALT活性可反映哪种组织器官的功能

    密码子存在于

    某一核酸有如下的碱基组成:A=23%,G=22%,C=39%,T=16%。该核酸可能是

    18、“神头岭”战役中我方旅长的名字是( )

    1分子葡萄糖经无氧氧化可净生成几分子ATP

    γ-氨基丁酸来自哪种氨基酸

    脂肪酸彻底氧化的产物是

    某一核酸有如下的碱基组成:A=23%,G=22%,C=39%,T=16%。该核酸可能是

    γ-氨基丁酸来自哪种氨基酸

    ()是调整商事关系的法律规范。

    DNA的基本组成单位不包括

    关于同工酶的叙述正确的是

    下列不是糖异生原料的是

    脂肪酸彻底氧化的产物是

    一段单链DNA模板序列为5,-ATTGCTA-3,,合成与其互补的子链DNA序列为

    2.太极拳的练功要领不包括:

    NAD+分子结构中含有的维生素是

    称为可变脂的是

    最普遍进行的生物转化第二相反应是代谢物与

    含蛋白质比例最多的血浆脂蛋白是

    乙酰辅酶A的去路不包括

    司法活动的最高价值追求是()。

    衡量一个人道德水平高低的主要标志是看其道德行为。

    由法律直接规定继承人的范围、继承顺序、遗产分配原则的财产继承制度是()。

    能使血糖降低的激素是

    丙酮酸参与下列哪种物质代谢过程

    20、孙子用哪一种物象来比喻他的战术思想( )

    能使血糖降低的激素是

    多核苷酸链中核苷酸的连接方式是

    展开全文
  • C++中的引用,给我们提供了一种区别于C指针的形参定义方式。一般我们可以将其定义 1)普通引用 void foo(int &n);...以普通引用为形参的函数,一般会更改实参的值,比如increment(int &...

    C++中的引用,给我们提供了一种区别于C指针的形参定义方式。一般我们可以将其定义为

    1)普通引用

    void foo(int &n);

    2)常量

    void foo(const int n);

    3)常量引用

    void foo(const int& n);

    三种方法用途不一样,都可以通过编译。

    以普通引用为形参的函数,一般会更改实参的值,比如increment(int &n)等;以常量以及常量引用为形参的函数,一般不对实参进行修改。需要注意的是,当函数的功能确定后,不能把常量引用和普通引用混淆,虽然编译可以通过,运行也没有错误,但是会对函数的安全性以及功能造成影响:

    1)如果一个本该是常量引用的形参定义成了普通引用,那么程序员会误认为这个形参可以修改。而且,在调用该函数的时候,会产生意想不到的错误。比如:

    int getSize1(string &str){
        return str.size();
    }
    int getSize2(const string &str){
        return str.size();
    }
    void main(){
        getSize1("helloworld");//报错
        getSize2("helloworld");//正确
    }

    显然,getSize2才是符合正常函数思维的实现。

    2)常量引用为形参时,形参指向实参的空间,而常量为形参时,编译器会给形参重新分配空间。

    void foo1(const int n){
        printf("%x\n", &n);
    }
    
    void foo2(const int &n){
        printf("%x\n", &n);
    }
    int main(int argc, char *argv[]){
        int n = 1;
        printf("%x\n", &n);
        foo1(n);
        foo2(n);
        return 0;
    }
    
    //输出:
    //e25f58cc
    //e25f58ac
    //e25f58cc

     

    展开全文
  • 变量与常量变量:在程序运行过程中,值会发生变化的量常量:在程序运行过程中,值不会发生变化的量无论是变量还是常量,在创建时都会在内存中开辟一块空间,用于保存它的值。这里有一点需要注意的是,在python中是...
  • 1.常量形参形参有顶层const或者底层const的时候,传给它常量对象或者非常量对象都是可以的,在这里我们主要考虑形参无const, 而实参有const的情况,其实这里也十分简单,只需要记住一点:底层const的限制,就...
  • 实参,形参什么?区别?

    千次阅读 2020-07-14 11:12:54
    cube()被调用时将创建一个名x的double变量(x为形参)并将x的值初始化为m的值。cube()对x进行操作时,将不会影响m的值。 区别 1.实参可以是常量,变量,表达式,函数等,但都必须是确定的值。 2.形参用于接收实参...
  • 而跟变量不同的是,常量是值可变的量。比如圆周率 π 保留两位小数是固定的 3.14,那我们就可以称之为常量。但请注意,跟其他编程语言不同的是,python 天生就没有关于常量的定义方法。那怎么办呢?在 python 当中...
  • void test(const unordered_map&...原因:map的[]运算符会在索引项不存在的时候自动创建一个对象,而常量不能改变。 解决办法:使用迭代器替换即可,如下例所示。 void test(const unordered_map&l...
  • 例如我在使用Unity的MenuItem特性时,报了错"特性实参必须是特性形参类型的常量表达式、typeof 表达式或数组创建表达式" ​​​​​​​ ​​​​​​​ 经过几次定位,原因是因为我的字符串不是用const定义...
  • 0. 指针与引用 指针是对象,即在内存中占有实际内存。而引用只是一个对象的别名,本身占有...指向常量的指针不能用于改变所指对象的值。 const double pi = 3.14; const double *cptr = &amp;pi; // 正...
  • 常量引用:原变量不能通过此引用(别名)修改。 形式: char ch = 'a';...增加输入参数的灵活性:普通引用形参(没用const修饰)允许输入参数const修饰的值(常量引用或常量)或右值,用const修饰后则...
  • 什么是形参什么是实参?

    万次阅读 多人点赞 2020-05-13 21:27:42
    什么是形参什么是实参? 什么是形参形参全称叫做“形式参数”,也是一个虚拟的参数,在定义方法的时候使用的参数,形参是方法被调用时用于接收实参值的变量。 什么是实参? 实参全称叫做“实际参数”,顾名思义...
  • 一,如果需要修改参数内容,则设置普通引用类型 二. 如果需要修改参数内容则最好设置为常量引用... 2)显示了该函数所接受的实参类型无法把const对象,字面常量或者需要类型转换的对象传递给普通的引用形参 ...
  • void showValue(const int& v) { // 加了 const 修饰形参,则该形参不能被修改值 //v += 10; // 由于上面加了 const ,因此这行会报错; 如果上面加 const,则这里会修改实参。 cout ; } int main() { //函数...
  • 形参和实参是什么

    2022-04-08 10:28:04
    实参可以 是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有 确定的值,以便把这些值传送给形参。 函数的形参和实参具有以下特点: 1.形参变量只有在被调用时才分配内存单元,在...
  • 浅谈c++中形参不能改变实参

    千次阅读 2020-04-03 18:48:52
    c语言我们都知道形参不能改变实参,实参改变形参,我们保证自己很熟悉这个概念吗,能不能保证自己每次都犯错,掉坑里。 #include <iostream.h> #include <string.h> void fun( char *s) { char a...
  • python什么是形参

    2021-11-21 19:40:54
    函数调用结束返回主调用函数后则不能再使用该形参变量。 2、实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,...
  • const形参和实参

    2021-05-22 01:39:30
    形参是const时,必须要注意关于顶层const的讨论。如前所述,顶层const的作用于对象本身:const int ci=42; //不能改变ci,const是顶层的int i=ci; //正确:当拷贝ci时,忽略了它的顶层constint *const p=&i; ...
  • final修饰方法的形参是存在常量池么?在内存中的生命周期是怎么样的呢? ``` interface InnerClass { int getNum(); } public class OuterClass { public InnerClass getInnerClass(final int x)...
  • #define宏定义没有数据类型,只是简单的字符串替换,不能进行安全检查。const 防止修改,起保护作用,增加程序健壮性void 可以节省空间,避免不必要的内存分配const定义常量从汇编的角度来看,只是给出了对应的内存...
  • 形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。 形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送...
  • 什么是形参?实参?命令行参数?可变参数? 今天读文章遇到的,有些概念太清楚,Mark一下! 形参 形参是parameter,在定义方法时后面跟的参数就是形参,全称“形式参数”。 实参 实参是argument,在调用方法时...
  • 形参和实参是什么

    万次阅读 多人点赞 2017-12-18 20:33:08
    形参和实参是什么
  • 形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参的功能是作数据传送。发生函数调用时,主调函数把实参的值传送给被...
  • 常量形参:值被改变了,禁止改变指向 常引用:值被改变了,禁止改变指向 分析过程代码: #include<iostream> #include<opencv2/opencv.hpp> using namespace cv; using namespace std; void ...
  • 2、形参的对象顶层const时,传入的实参既可以是const值,又可以是非const值,若是底层const,传入的实参只能是const的值。 顶层 const 表示的是指针本身是一个常量, 底层const 表示的是指针所指的对象是一个常量...
  • 常量引用

    2021-02-19 13:21:26
    1.作用:常量引用主要用来修饰形参,防止误操作 2.在函数形参列表中,可以加 const 修饰形参,防止形参改变实参 #include<iostream> using namespace std; //使用场景 用来修饰形参,防止误操作 void ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 89,388
精华内容 35,755
关键字:

形参为什么不能是常量