首页 > 其他分享 >统计类内成员函数调用次数(mutable 的一种用法)

统计类内成员函数调用次数(mutable 的一种用法)

时间:2023-05-09 16:34:46浏览次数:40  
标签:std const Student age 函数调用 类内 mutable name

#include <iostream>

class Student {
public:
    Student(const std::string& name_, unsigned age_);
    ~Student() {}
    void output() const {
        std::cout << this->name << " " << this->age << std::endl;
        ++outputCallCount;
    }
    void printOutputCallCount() {
        std::cout << outputCallCount << std::endl;
    }
private:
    std::string name;
    unsigned age;
    mutable unsigned outputCallCount = 0;
};

Student::Student(const std::string& name_ = "", unsigned age_ = 0) : name(name_), age(age_) {}

int main() {
    Student A("A君", 10);
    A.output();
    A.output();
    A.output();
    A.printOutputCallCount();

    return 0;
}

标签:std,const,Student,age,函数调用,类内,mutable,name
From: https://www.cnblogs.com/hacker-dvd/p/17385478.html

相关文章

  • 函数调用栈的一些简单认识
    程序的执行可以理解为连续的函数调用,每一个用户态(用户态指的是CPU指令集权限ring0,用户只能访问常用CPU指令集,在应用程序中运行)进程都对应一个调用栈结构,当一个函数执行完毕后,会自动回到原先调用函数的位置(call指令)的下一步命令并执行,堆栈结构的作用是保存函数返回地址、传......
  • Python12类内置函数大汇总
    内置函数就是python给你提供的,拿来直接用的函数,比如print.,input等。截止到python版本3.6.2python一共提供了68个内置函数,我将它们分成12类,方便你学习。#68个内置函数abs()dict()help()min()setattr()all()dir()hex()next()slice()any()......
  • Immer & immutable state All In One
    Immer&immutablestateAllInOneImmer(Germanfor:always)isatinypackagethatallowsyoutoworkwithimmutablestateinamoreconvenientway.Immer(德语:always)是一个小包,可让您以更方便的方式处理不可变状态。https://immerjs.github.io/immer/https://gith......
  • 加密与解密x64逆向——寄存器和函数调用
    64位软件逆向技术寄存器本节讨论的x64是AMD和INTEL64的合成,是指与现有x86兼容的64位CPU。在64位系统中,内存地址为64位。x64系统通用寄存器的名称,第一个字母从E改为R“RAX”,大小扩展到64位,数量增加8个,扩充了8个128位XMM寄存器。函数1.栈平衡RSP用来保存当前的栈顶指针,每8个......
  • 粒子群优化算法-Python版本和Matlab函数调用
    ✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。......
  • 函数调用栈学习
    栈:在函数调用时,第一个进栈的是主函数中函数调用后的下一条指令(函数调用语句的下一条可执行语句)的地址,然后是函数的各个参数,在大多数的C编译器中,参数是由右往左入栈的,然后是函数中的局部变量。注意静态变量是不入栈的。当本次函数调用结束后,局部变量先出栈,然后是参数,最......
  • 析构函数调用次数
    #include<iostream>usingnamespacestd;classA{public:A(){cout<<"classAconstrutor"<<endl;}~A(){cout<<"classAdestrutor"<<endl;}voidfun1(){cout<<"fun1()"<<endl;}};......
  • mutable、const、volatile关键字
    C++中有三种修饰数据可变的关键字:mutable、const、volatile。constconst我们很常见,在定义一些不可变的常量或不修改数据内容的函数时经常会用到。 修饰变量,说明该变量不可以被改变;修饰指针,分为指向常量的指针(例如constchar*,其自身可变,指向的是常量字符数组)和自身是常量的......
  • Why is redux state immutable???
    众所周知,redux的三项原则之一有stateisread-only,即immutable.为了保证immutable,所以每次reducer都要return一个newobject,作为新的state.但为什么state一定要......
  • CreateThread——类内线程回调函数
    CreateThread的函数声明如下:点击查看代码HANDLEWINAPICreateThread(_In_opt_LPSECURITY_ATTRIBUTESlpThreadAttributes,_In_SIZE_TdwStackSize,_I......