为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
趣味 C++ 进阶_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

趣味 C++ 进阶

Redknot
难度初级
时长 8小时 0分
  • 内存管理

    资源获得初始化原则(RAII)

    构造函数  创建资源

    析构函数  销毁资源


    查看全部
    0 采集 收起 来源:动态内存管理

    2022-03-01

  • +

    virtual int work(); 虚函数 该staff 类里也可实现

    virtual int  work()=0;纯虚函数,只声明,不实现。

    虚函数不能实例化对象。

    纯虚函数的类只能被继承,不能被实例化

    查看全部
  • 对象分配到堆上,new 用来分配对象,delete 用来删除对象。new 会返回一个指针,在使用完毕后,要通过 delete 把这个指针指向的地址释放掉。

      Staff * st1 = new Staff();
      // 记得释放
      delete st1;

    栈上实例化:

      Staff st1;
    查看全部
  • 函数指针funcp指向函数funcl;

    int (*funcP)(int a)=funcl;

    int 函数返回值类型

    funcP 指针名

    int a 函数输入值

    funcl  指针指向的函数


    int ret=(*funcP)(5);

    通过指针调用函数,将返回值赋给ret

     

    查看全部
  • #include <stdio.h>
    
    int main(int argc,char **argv)
    {
        int arr[] = {1, 2, 3, 4};
        int * p = arr;
        return 0;
    }
    *(p+2)

    等价于

    arr[2]

    查看全部
  • 普通变量用点,指针用箭头

    查看全部
  • 现在大部分的机器,都采用了小端字节序。但是在 IO 方面,则大部分使用大端字节序。例如,你要使用网络发送一个 int 类型的变量,要先把 int 转换成大端字节序,然后通过网络发送。

    大端字节序又被称之为网络细节序。

    查看全部
  • 面向对象:
    各司其职
    解耦合思想
    结合大象进冰箱的例子
    以及函数指针的使用(产品经理提需求,合作开发)
    查看全部
  • 要通过基类(父类)释放子类的对象,必须将父类的析构函数设置为virtual.

    查看全部
    0 采集 收起 来源:强者争霸

    2022-01-17

  • static int a

    定义静态变量

    查看全部
  • memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;


    例:


      char a[100], b[50];


      memcpy(b, a,sizeof(b)); //注意如用sizeof(a),会造成b的内存地址溢出。


      strcpy就只能拷贝字符串了,它遇到'\0'就结束拷贝;例:


      char a[100], b[50];


    strcpy(a,b);

    查看全部
    0 采集 收起 来源:强者争霸

    2022-01-07

  • 将父类的析构函数声明为虚函数,作用是用父类的指针删除一个派生类对象时,派生类对象的析构函数会被调用。例如:

    class Staff
    {
    public:
       std::string name;
       int age;

       virtual ~Staff()
       {

       }
    }

    class Coder : public Staff
    {
    public:
       std::string language;

       virtual ~Coder()
       {

       }
    };

    int main(int argc,char **argv)
    {
       Staff * s = new Coder();

       delete s;

       return 0;
    }

    此时如果析构函数不加 virtual,那么 delete 父类指针的时候,子类的析构就不会被调用,某些情况下会导致内存泄漏。

    查看全部
    1 采集 收起 来源:强者争霸

    2021-12-26

  • 将父类的析构函数声明为虚函数,作用是用父类的指针删除一个派生类对象时,派生类对象的析构函数会被调用。例如:

    class Staff
    {
    public:
       std::string name;
       int age;

       virtual ~Staff()
       {

       }
    }

    class Coder : public Staff
    {
    public:
       std::string language;

       virtual ~Coder()
       {

       }
    };

    int main(int argc,char **argv)
    {
       Staff * s = new Coder();

       delete s;

       return 0;
    }

    此时如果析构函数不加 virtual,那么 delete 父类指针的时候,子类的析构就不会被调用,某些情况下会导致内存泄漏。

    查看全部
    0 采集 收起 来源:强者争霸

    2021-12-26

  • 比较特殊的是,数组名就是一个指针,不过数组名是一个常量指针,不能做累加或者累减操作。

    我们可以通过指针来访问数组元素:

    *(p + 2)

    同样,这句话等价于:

    p[2]

    查看全部
  • 浮点数结构复杂,运算速度慢

    查看全部

举报

0/150
提交
取消
课程须知
你需要具备基础的 C++ 语法知识,在学习本课程之前,建议先学习《趣味 C++ 入门》,快速认识 C++,熟悉 C++ 基本语法,更加快速入手进阶课程!
老师告诉你能学到什么?
在本门课程中,你将学习到:计算机存储数据的原理、指针的进阶、面向对象编程、内存管理技巧等 C++ 高级语法。在课程的最后,将带领大家使用 C++ 编写一个五子棋游戏,通过实践,加深理解,巩固学习成果。
友情提示:

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