C++中的static

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

在定义变量和函数时用关键字static用来修饰命名空间作用域的变量和函数时和extern的作用刚好相反;

extern用法

但是这种方式在2003的c++  2.0标准中已经宣布不再鼓励这种方式;

用的是匿名的命名空间,尼玛我是第一次听说这个匿名的命名空间,它是这样的;

namespace{
    int  n;
      void  f(){
        n++;
      }
}


staticC++ 中的四种用法 但是注意,静态成员函数无法访问类的非静态成员变量,因为这些变量是与类的实例关联的,而静态成员函数不属于任何具体的类的实例。在这种情况下,我们不能直接传递一个非静态成员函数,因为非静态成员函数需要一个隐含的 this 指针,而我们在创建线程的时候不能提供这个 this 指针。上述代码不能正确运行,因为bar是一个非静态成员函数,而在startThread函数中,我们无法给出这样一个上下文。因为非静态成员函数需要一个对象的上下文(也就是this指针),而在这个例子中,我们并没有提供这样的上下文。 阅读详情

相关推荐

C++中的静态static

C++static关键字常用的用法。

qq_20416633的博客 2398

C++ static详解,类中的static用法

以下将从这几个方面来将static关键字 特点:用来控制存储方式和可见性 类中的static关键字 什么时候用static? 为什么要引入static? 特点:用来控制存储方式和可见性 ① 存储空间:静态存储区(控制变量的存储方式)        静态变量存储在静态存储区(存储在静态存储区的变量,如果不显式地对其进行初始化,系统会将其初始化为0),在程序执行期间,对应的存储空间不会释放,一直到程序结束才会释放。       &nbs

WYuan的博客 5723

C++中的static关键字

C++static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 一、面向过程设计中的static 1、静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: #include using namesp

Hackbuteer1的专栏 6万+

C++中的auto与static用法

  static被称为静态修饰符,一般用于修饰变量与函数。在讲static之前先说一下自动修饰符auto是怎么回事。 void function() { int a = 5; auto int b=7; …… }   在以上的代码块中,变量a与变量b的性质是一模一样的,都是自动变量,auto是可以被省略的。熟悉微机原理的同学应该清楚,计算机在内存中专门划分了一个区域,叫栈(stack)。...

师范大学生的博客 1865

C++中的static

C++中的static  C++static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。   一、面向过程设计中的static   1、静态全局变量   在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:

rattles的专栏 552

static在c和c++中的区别

c++中,不仅支持传统C语言中static的特性,如:全局静态函数,局部静态变量,静态函数等,还对static进行了扩展,支持静态数据成员,静态函数成员,静态对象等。 一:static变量的常见应用 1:静态局部变量和普通局部变量的区别: 它们的主要区别是作用域不同,静态局部变量的是包含它当前的源文件,该工程的其他源文件是不可以访问它的。这样做的好处是多人联合开发时,不必担心变量名冲突问题...

lewis的博客 784

static 函数_C++中的static

一,面向过程的static函数中的静态变量 :当变量声明为static时,空间将在程序的生命周期内分配,其被存放在在全局数据区。即使多次调用该函数,静态变量的空间也只分配一次,前一次调用中的变量值通过下一次函数调用传递。这对于在C / C ++或需要存储先前函数状态的任何其他应用程序非常有用。 PS:对于一个完整的程序,在内存中的分布情况如下图:图片来源:https://blog.csdn....

weixin_39918690的博客 337

staticC++中的作用

静态成员函数则可以在不创建类的对象的情况下调用,它们只能访问静态成员变量和其他静态成员函数。成员可以用来实现类的某些属性和方法,这些属性和方法不属于任何单个对象,而是属于类本身。例如,可以使用静态成员变量来计数类的实例数量,或者使用静态成员函数来实现工厂方法。关键字也无法访问它。在C++中是一个非常重要的关键字,它提供了变量持久性、作用域控制和类成员共享等功能。关键字的主要作用是控制变量的存储方式和作用范围,以及在类中实现成员的共享。关键字具有多种用途,它可以用来修饰变量和函数,以及类的成员。

2201_75443889的博客 663

staticc++中的作用

在C中的作用 静态全局变量/静态函数 存储在静态存储区,生命周期直到程序结束 在声明它的整个文件都是可见的,而在文件之外是不可见的,其它文件中可以定义相同名字的变量,不会发生冲突; 静态局部变量 存储在静态存储区,生命周期直到程序结束 静态局部变量在程序执行到该对象的声明处时被首次初始化,即以后的函数调用不再进行初始化;如果没有显式初始化,会被程序自动初始化为0(普通的局部变量必须显示初始化.........

天行九歌 747

C++中的static完全解析

C++static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。       一、面向过程设计中的static   1、静态全局变量   在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:   //Examp...

eriol的思考空间 177

C++中的static关键字的总结

C++中的static关键字的总结   C++static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 1.面向过程设计中的static1.1静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Exam...

晴树的专栏 403

c++中的static思考

static是一种修饰符,告诉编译器这个变量要存放在全局数据区,直到程序结束擦除。 全局数据区分为两部分,一部分是extern, 一部分是static,extern区域存放的全局变量可以在连接时被其他文件使用, 而static只对自己文件可见。 此外,static又可以分为局部和全局两种,局部就是指在函数,比如main函数,或者类中的静态成员变量, 而全局的 静态变量一般是指不在任何作用域...

feng__shuai的博客 206

C++中的Static关键字

C++中的Static关键字 Static关键字主要用法分为面向过程(C)程序设计中的static和面向对象(C++)程序设计中的static, 它被用来控制变量的存储方式和可见性。 面向过程中不涉及到类,static用于修饰静态数据成员及静态成员函数; 面向对象中的static用来修饰静态变量(全局和局部)及静态函数。 面向过程中的static 静态变量 1.静态局部变量 static关键字修饰局部变量时,使得被修饰的变量成为静态变量,存储在静态区。存储在静态区的数据生命周期与程序相同,在main函数之

George_qzt的博客 351

关键字static在C和C++中的区别

首先,C++是C的超集,所以static在C中的用法 对于C++来说是全盘接受的,而两者的不同也就是C++中多出来的特性,而这些多出来的特性与C++面向对象的特性有关,或更具体的说,就是static在“类”中的意义和作用。1:C语言中的StaticC中static 的影响其实不在

sjtu_huang的专栏 1612

先写public还是先写static_C++中的static

一,面向过程的static函数中的静态变量 :当变量声明为static时,空间将在程序的生命周期内分配,其被存放在在全局数据区。即使多次调用该函数,静态变量的空间也只分配一次,前一次调用中的变量值通过下一次函数调用传递。这对于在C / C ++或需要存储先前函数状态的任何其他应用程序非常有用。 PS:对于一个完整的程序,在内存中的分布情况如下图:图片来源:https://blog.csdn....

weixin_39624389的博客 288
上一篇: C++ extern 关键字的用法
下一篇: C++自己写的非常简单的文件
Java_beginer1
博客等级 码龄16年 22粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值