为了账号安全,请及时绑定邮箱和手机立即绑定
  • 指针 引用

    交换函数

    查看全部
    0 采集 收起 来源:C++语言引用

    2020-02-10

  • 指针类型的引用

    引用≈别名 结果输出20

    查看全部
    0 采集 收起 来源:C++语言引用

    2020-02-10

  • 字符串指针和字符指针都是保存着第一个字符的内存地址

    查看全部
    0 采集 收起 来源:单元巩固

    2020-02-09

  • 为什么cout<<*str<<endl;  只显示H; 为什么不选择打印*str;而是str?

    加上了*代表的是str的第一个元素    *str等价于 str[0]    *str+1等价于str[1];所以打印的时候会打印出第一个字符H

    需要打印全部只需要cout<<str<<endl;即可

    查看全部
    0 采集 收起 来源:单元巩固

    2020-02-09

  • 基本数据类型的引用

    #include <iostream>
    using namespace std;
    int main(void)
    {
        int a=3;
        int &b=a;//引用必须初始化
        b=10;
        cout<<a<<endl;
        return 0;
    }

      结构体类型的引用

    typedef struct
    {
        int x;
        int y;
    }Coor;
    #include <iostream>
    using namespace std;
    int main(void)
    {
        Coor c1;
        Coor &c=c1;
        c.x=10;
        c.y=20;
        cout<<c1.x<<c1.y;
        return 0;
    }

    指针类型的引用

    类型 *&指针引用名=指针;

    #include <iostaream>
    using namespace srd;
    int main(void)
    {
        int a=10;
        int *p=&a;
        int *&q=p;
        *q=20;
        cout<<a<<endl;
        return 0;
    }

    引用作函数参数

    void fun(int &a,int &b)
    {
        int c=0;
        c=a;
        a=b;
        b=c;
    }
    int x=10,y=20;
    fun(x,y);


    查看全部
    2 采集 收起 来源:C++语言引用

    2020-02-07

  • 这个主要是形参与实参的关系 。
    在函数的参数列表里的,是形参,它是对实参的一个拷贝, 但是它们不是在内在同一个块。所以对形参的改变不会影响实参的值 。
    c++可以通过引用,也就是别名来改变, 比如把函数定义成 void fun(int x,int &y)
    这样在函数里,对第二个参数做改变,相应的实参也会改变,因为它们是同一个。 这就是引用类型的作用。

    查看全部
    0 采集 收起 来源:C++语言引用

    2020-02-07


  • C++内存管理

    查看全部
    0 采集 收起 来源:[C++]内存管理

    2020-02-04

  • 有默认参数值的参数必须在参数表的最右端,也就是从右往左看不能先出现没有默认值的而后出现有默认值的。

    声明时可加默认值,定义时建议不加,因为有些编译器通不过。

    无实参时用默认值,否则实参覆盖默认值。

    递归函数无法使用内联方式。


    查看全部
    0 采集 收起 来源:[C++]函数特性

    2020-02-02

  • 指针指向const修饰的变量时,应该是const int const *p = &a;

    const int const *p = &a这种写法可以运行,但是等价于const int *p = &a,也等价于int const *p = &a。从可读性角度,可删减一个const。三种const的作用都是把*p当作常量。

    当const已经修饰一直变量时,再去用指针去指这个变量会很危险,因为指针可以改去该变量的值,与const就有冲突的风险,const int *p=&a和const int * const p=&a是可以的,这样保证了*p的值不能改变,所以就不会有与const冲突的可能性。

    查看全部
    0 采集 收起 来源:练习

    2020-02-02

  • p=&y后,*p为y的值,那么x会更新为5么?


    p是指针,且不是const指针,也就是说你可以更改p的指向,让p指向其他int变量。

    x和y是两个不相关的变量,一开始时p是指向x的。

    p=&y;  这一语句你让p指向y这个变量,那么再*p得到就是y,与x完全没有关系了。


    C++是一门强类型的语言,变量的所有行为都与它的类型有关。p的类型声明为 int const *p ,这里的const修饰的是前面的int,也就是说,p所指的对象是const int的,那么*p得到的对象的类型也被当作是const int的,所以才不能被修改。这与p到底指向什么无关,这样的行为只与p自己的类型有关。

    “但可以通过改变p来改变*p” *p始终是不可修改的。你所见到的前后两个*p值不同,完全是因为p在前后分别指向了不同的对象x和y,x和y的值本就不同而已。


    但是这里的改变 不是改变了原先*p指向的值  而是指向了其他的值
    
    “但可以通过改变p来改变*p” *p始终是不可修改的。你所见到的前后两个*p值不同,完全是因为p在前后分别指向了不同的对象x和y,x和y的值本就不同而已。


    查看全部
  •  'int x = 3; const int *p = &x; ',作者说“p=&y正确,*p=4错误”

    *p=3是固定的(只能通过改变x的值来改变,不能通过给*p赋值来改变)


    ,const int *y = &x;是指向的地址的内容不可变,即不可通过对*y赋值来修改x的值;但可以修改指向的地址。

    int *const y = &x;才是y = &p;错误,而可以进行*y = 10;对x的值进行修改。


    查看全部
    0 采集 收起 来源:C++语言-const

    2020-02-01

  • 从权限角度理解

    查看全部
    0 采集 收起 来源:C++语言-const

    2020-02-01

  • 不是等价的,因为x是一个变量,而y虽然是x的别名,但是他表示的是一个常量;

    因此,可以改变x的值,而不能通过对y的赋值语句改变他们的值;

    至于意义,我想可能是为了对操作权限进行限制吧,对x的操作权限比对y的要大。


    查看全部
    0 采集 收起 来源:C++语言-const

    2020-02-01

  • int x=3;const int &y=x;此时的x和y还是等价的吗?若是不等价,那么该语句的意义何在?

    查看全部
    0 采集 收起 来源:C++语言-const

    2020-02-01

  • 函数定义一般写在主函数后边。主函数前边可以声明,也可以不用声明

    查看全部

举报

0/150
提交
取消
课程须知
本课程是C++初级课程 熟练掌握C语言开发语言基础语法
老师告诉你能学到什么?
1、C++语言引用的魅力 2、C++语言const的用法 3、C++语言函数默认值及函数重载 4、C++语言内存管理

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!