首页 > 其他分享 >nonstatic data members 和 static data members

nonstatic data members 和 static data members

时间:2023-05-24 10:22:12浏览次数:42  
标签:静态数据 成员 内存空间 static members data

在C++中,类的数据成员可以分为非静态数据成员(non-static data members)和静态数据成员(static data members)。

  1. 非静态数据成员(non-static data members):
    非静态数据成员是类定义中没有使用static关键字声明的数据成员。对于这些数据成员,每个类的实例都有各自独立的内存空间,它们在对象创建时被初始化,并在对象销毁时释放。非静态数据成员通常用于表示类的对象状态。例如:
class MyClass {
public:
    int non_static_member; // 非静态数据成员
};
  1. 静态数据成员(static data members):
    静态数据成员是类定义中使用static关键字声明的数据成员。与非静态数据成员不同,静态数据成员在整个程序运行期间共享同一块内存空间,而不是为每个对象分配单独的内存。所有类的对象都共享相同的静态数据成员。静态数据成员通常用于表示与类本身相关的状态或值,而不是与具体对象相关。例如:
class MyClass {
public:
    static int static_member; // 静态数据成员
};

// 静态数据成员的定义和初始化(通常在CPP文件中)
int MyClass::static_member = 0;

总结:

  • 非静态数据成员属于类的每个对象,各自拥有独立的内存空间。
  • 静态数据成员属于类本身,所有类的对象共享同一块内存空间。

标签:静态数据,成员,内存空间,static,members,data
From: https://www.cnblogs.com/zhao-jie-li/p/17427259.html

相关文章

  • Instanceof和static关键词
    InstanceofA(对象)InstanceofB(类)判断A是否属于B类static关键词可以通过类直接调用此属性(方法),非静态属性需要实例化对象静态方法只能调用静态属性static{/.../}静态代码块,只执行一次若是直接的{/.../},是匿名代码块,可以初始化一些数据......
  • WPF实现两个DataGrid列表的滚动条同步
    实现目标:左右两个DataGrid对比显示,希望拖动一个列表的滚动条,就把别一个列表的滚动条移动到相应位置。 主要思路是:通过FindVisualChildren找到两个DataGrid的ScrollViewer控件,然后注册两个控件的ScrollChanged事件,只要有一个ScrollViewer的VerticalOffset值变了,就相应地修改另......
  • .Net使用HttpClient以multipart/form-data形式post上传文件及其相关参数
    httpClient模仿Postman的form-data格式 api接口[HttpPost(Name="/Test/FileTest")]publicJGResponse<PutFileByNameResponse>FileTest([FromForm]PutFileByNameRequestrequestDto){varcapthch=GetCaptcha();......
  • 【cpluscplus教程翻译】Special members
    特殊成员特殊成员函数是那些在特定情况被隐式定义的成员函数:默认构造、析构、拷贝构造、拷贝赋值、移动构造、移动赋值(注意构造和赋值的区别,只要是内存有没有新增),让我们逐个学习一下默认构造函数(defaultconstructor)默认构造函数在没给任何参数初始化对象时调用如果一个类的......
  • org.springframework.data.annotation.Transient 和 javax.persistence.Transient 的
    1、org.springframework.data.annotation.Transient 和 javax.persistence.Transient 都是用于标记一个属性不需要被持久化到数据库中的注解。它们的区别在于它们所处的框架和使用场景。org.springframework.data.annotation.Transient 是SpringDataJPA框架提供的注解,用......
  • easyui datagrid 标题换行
     .datagrid-header-row.datagrid-cellspan{white-space:normal!important;word-wrap:normal!important;}.datagrid-header.datagrid-cell{height:auto;line-height:20px;} ......
  • #yum安装mysql8.0.32修改二进制日志位置报错mysqld: File '/data/mysql/logbin/mysql-
    #yum安装mysql8.0.32修改二进制日志位置报错mysqld:File'/data/mysql/logbin/mysql-bin.index'notfound(OSerrno13-Permissiondenied)[root@master-DNSmysql]#cat/var/log/mysql/mysqld.log2023-05-22T09:08:36.149861Z0[Warning][MY-010918][Server]'d......
  • 火山引擎DataLeap数据调度实例的 DAG 优化方案(三):技术实现
    在原始数据中,是以一个数组的形式返回节点信息及依赖关系。所以,需要对数据进行处理形成图所需要的数据,同时,利用多个map对数据进行存储,方便后续对数据进行检索,减少时间复杂度。实例节点的样式需要通过基础图形Text(文本)、Rect(矩形)、Icon(图标)进行组合,以达到我们的设计要求。......
  • 数据工程系列精讲(第三讲): Data-centric AI 之特征工程 (转载)
    前言:在Data-centricAI之特征工程第二讲中,我们介绍了特征预处理的三个子步骤即样本类别不均衡处理,连续特征离散化和数值型category特征编码。今天我们接着介绍特征预处理以及特征工程的其他步骤。特征预处理之特征缩放当样本的不同特征的取值幅度范围具有不同量级时,数量级......
  • DataBase can’t be open after shutdown immediate
    五一放假期间,某客户的数据库出现故障,据说对方找了一些工程师折腾了一天,都无法将数据库open,其中参考了网络上的很多文章,也使用了一系列隐含参数,均无法将数据库打开。这里我简单的与大家分享一下这个case。首先我介绍一下整个case的背景,客户在4月30号凌晨通过shutdownimmediate停......