• 每日一笔记之1:静态成员函数


    对于类的成员函数而言,非静态成员函数属于类的具体对象,而静态成员函数属于该类,对于该类的所有对象是公有的。静态成员函数的调用不需要创建该类的对象。而非静态成员函数的调用必须先建立该类。

    常成员函数:

    int GetX() const; //声明常成员函数

    常成员函数含义是通过该函数只能读取同一类中的数据成员的值,而不能修改它。
    1.常成员函数不能更新对象的数据成员
    2.当一个对象被声明为常对象,则不能通过该对象调用该类中的非const成员函数
    3.非常量成员函数不能被常量成员对象调用,因为它可能企图修改常量的数据成员:但构造函数析构函数对这个规则例外,它们从不定义为常量成员,但可被常量对象调用(被自动调用)。它们也能给常量的数据成员赋值,除非数据成员本身是常量。
    const成员函数和const对象
    实际上,const成员函数还有另外一项作用,即常量对象相关。对于内置的数据类型,我们可以定义它们的常量,用户自定义的类也一样,可以定义它们的常量对象。例如,定义一个整型常量的方法为:
    const int i=1 ;
    同样,也可以定义常量对象,假定有一个类classA,定义该类的常量对象的方法为:
    const classA a(2);
    这里,a是类classA的一个const对象,"2"传给它的构造函数参数。const对象的数据成员在对象生存期内不能改变。但是,如何保证该类的数据成员不被改变呢?
    为了确保const对象的数据成员不会被改变,在C++中,const对象只能调用const成员函数。如果一个成员函数实际上没有对数据成员作任何形式的修改,但是它没有被const关键字限定的,也不能被常量对象调用。
  • 相关阅读:
    Windbg使用
    C#与C++之间类型的对应
    Hook CreateProcess
    基于EasyHook实现监控explorer资源管理器文件复制、删除、剪切等操作
    GUID和UUID、CLSID、IID 区别及联系
    hook C++
    EasyHook Creating a remote file monitor
    hook工具
    EasyHook
    Hook exe 和 file
  • 原文地址:https://www.cnblogs.com/llxbl/p/4923893.html
Copyright © 2020-2023  润新知