栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

2021-10-31

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-31

C/C++详细介绍static关键字

1.C++ static

  1. static特点:
    1.存放在[数据段]
    2.生命周期一直到[进程]结束
    3.数据只分配-次
  2. static修饰的全局变量作用域在本文件有效
  3. static修饰的变量默值认为0
  4. static修饰成员属性
  5. static修饰的成员属性与类不同空间,所以不能在类内初始化
    类外初始化: 数据类型 类名:: 类内变量名 = ??
    类内:private: static int a;
    类外:int className :: a=0;
    注意:在类内,可通过const修饰static修饰的属性,就可以初始化:
    类内:const static int a=10;

8.static 返回值类型 函数名()
注意:static 修饰的属性和方法都在数据段,函数访问的量也要static
在类内,不是static修饰的变量,在static函数里是错误的。

9.通过static修饰的函数和变量,在类内声明,调用如下:
类内写法:static修饰成员方法
1.实现方式
static成员类型成员名(参数)
例如:
static int show(int a)
{
}
类外写,类内声明为static:
类内: static int show(int a);
类外:int 类名 ::show(int a);

10.类外定义,赋值,初始化:。。。
10.1. static修饰的成员方法不能使用类里面的非静态成员,因为他们不属于同一个空间,this也无法使用。
10.2. static修饰的成员方法可以使用类里面的static修饰的成员属性,或成员方法
10.3.static的主要作用其实是[可以不创建对象],直接通过类名: :成员属性或者成员方法实现例如
class Mat
public:
static void add(){}
static void mul(){};
static int number;
};
int main()
{
Mat::add();
Mat::number ;
}

拓展:C++强制类型转化:
this传递给创建线程函数
Lcdthread*th = static_cast(arg)
th=this

```cpp

#include 
using namespace std;
class AA{
public:
       AA(){cout<<"AA: "<<"a="<

下回见

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/384283.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号