首页 > 编程语言 >C++中的static关键字和this指针

C++中的static关键字和this指针

时间:2024-02-07 16:24:21浏览次数:35  
标签:testField 变量 静态 成员 C++ 关键字 static

C++中的static关键字用来修饰静态成员变量和静态成员函数, static定义的类的静态成员(成员变量和成员函数) ,它会有一块单独的存储区。 当我们把这个类实例化时,会为类实例化的对象来分配空间,显然此时给对象分配的内存空间不包括静态成员所占的空间。

特别要注意,静态成员变量必须在类中声明,在类外定义 =》 我们来看个例子

class TestClass
{
public:
int num; //普通成员变量
static int testField; //在类里面声明静态成员变量 testField };

//在类外面定义静态成员变量,这个时候,不需要再次加static关键字
int TestClass::testField = 10; //类外定义+初始化 静态成员变量testField

 

标签:testField,变量,静态,成员,C++,关键字,static
From: https://www.cnblogs.com/wphl-27/p/18011014

相关文章

  • C++ CryptoPP使用AES加解密
    Crypto++(CryptoPP)是一个用于密码学和加密的C++库。它是一个开源项目,提供了大量的密码学算法和功能,包括对称加密、非对称加密、哈希函数、消息认证码(MAC)、数字签名等。Crypto++的目标是提供高性能和可靠的密码学工具,以满足软件开发中对安全性的需求。高级加密标准(Advance......
  • Visual Studio部署matplotlib绘图库的C++版本
      本文介绍在VisualStudio软件中配置、编译C++环境下matplotlibcpp库的详细方法。  matplotlibcpp库是一个C++环境下的绘图工具,其通过调用Python接口,实现在C++代码中通过matplotlib库的命令绘制各类图像。由于其需要调用Python接口,因此在配置matplotlibcpp库时有些较为麻烦......
  • C++实现memcpy和memmove(含调试程序)
    #include<iostream>#include<string>usingstd::cout;usingstd::endl;void*mymencpy(void*dest,void*src,size_tnum){ char*d=(char*)dest; char*s=(char*)src; while(num--){ *(d++)=*(s++); } returnd;}void*mymenmove(vo......
  • C++编程练习||1.类模板2.整数集合类3.复数集合类,模板结合
    1.类模板 类模板的作用  使用类模板使用户可以为类声明一种模式,使得类中的某些数据成员、某些成员函数的参数、某些成员函数的返回值,能取任意类型(包括基本类型的和用户自定义类型)。  类模板的声明  类模板template<模板参数表>class类名{类成员声明};  ......
  • C++类开发第二篇(浅析构造函数和析构函数)
    class_2构造函数构造函数是一种特殊的成员函数,用于创建和初始化类的对象。它的名称与类的名称相同,没有返回值,也不需要显式调用。在C++中,每个类都必须至少有一个构造函数。当我们创建一个类的对象时,编译器会自动调用构造函数来初始化该对象的成员变量。构造函数可以执行一些操作......
  • c++ function
    可调用对象函数函数指针函数类lamda表达式bind对象函数类重载了函数调用运算符()的类的对象,称为函数对象。classcallable{public:voidoperator()(intx)const{cout<<"callable::operator():"<<x<<endl;}};intmain(){calla......
  • C++编程练习||1.排序函数模板2.函数模板3.重载printArray函数模板
    1.排序函数模板已知主函数如程序后缀代码所示,请为其编写适当的模板函数,使主函数的bubbleSort函数可以对一个整型数组和一个浮点数数组进行输入、排序、输出操作。#include<iostream>#include<iomanip>usingnamespacestd;template<typenameT>voidbubbleSort(T*arr,......
  • linux 搜索zip压缩文件内的关键字
    有这样一个场景,一个应用有日志归档,每天新建一个文件夹文件夹里是zip压缩文件             这时候如果程序出现问题,但是不确定是哪一天,需要搜索这些天里的日志文件关键字,这个怎么弄问题比较棘手,经过一番琢磨还是解决了:zgrep'deletefromt_common......
  • c++命名空间
    1.命名空间定义注:命名空间只能在全局变量中定义namespacemystd{intx,y;intmax(inta,intb){returnstd::max(a,b);}}intmain(){inta=10,b=4;std::cout<<mystd::max(a,b);}2.命名空间可以嵌套namespacemystd{......
  • DevC++ 支持c++11
    DevC++支持c11报错解决点击工具,选择编译选项勾选编译时加入一下命令-std=c++11......