C++中const和static修饰场景描述

原创 2018年04月16日 23:03:18

         在c++中,
    static可以在两种情景下使用,分别是类外和类内;
其中类外的修饰对象可以是局部变量和全局变量,被修饰的变量变为静态变量,存在于整个
程序的运行期间;特别地,static修饰全局变量时在其他文件中无法访问(即使加extern);
在类内,修饰成员变量时,所有类对象及派生类对象共享一份数据(所以静态成员必须类外初始化)
修饰类成员函数时,所有类对象及派生类对象共享一份数据,函数内部可以访问静态成员但不可以访问
非静态成员;static修饰的成员可以通过类名直接访问。
    const修饰,类外修饰对象有指针和非静态变量,可以限制其改变;类内修饰成员函数时,该函数变为
常函数,不可修改成员变量的值。

能不能同时用static和const修饰类的成员函数?

我们可以用static修饰一个类的成员函数,也可以用const修饰类的成员函数(写在函数的最后表示不能修改成员变量,不是指写在前面表示返回值为常量)。   请问:能不能同时用static和cons...
  • bxyill
  • bxyill
  • 2012-12-27 16:38:43
  • 5403

C++中成员变量加上static或const关键字后的分析

C++中类成员变量加上static或const关键字后的初始化问题。在一个简单的C++类中定义如下这些变量: #include using namespace std; class TestVa...
  • u012501459
  • u012501459
  • 2015-03-09 11:15:11
  • 2380

C/C++中static和const关键字的作用总结

static 关键字至少有下列 n 个作用:   (1)函数体内 static 变量的作用范围为该函数体,不同于 auto 变量,该变量的内存只被分配一次,因此其值在下次调用时 仍维持上次的值;   ...
  • u010193457
  • u010193457
  • 2015-11-05 13:25:08
  • 1200

C++中static const类成员变量

 此文转自网络,其中正确与否本人正在验证,如有不对,请告知。 1)static const 与const static是一样的,没有区别2)static const存储在静态存储区域,不可修改其值的常...
  • lincyang
  • lincyang
  • 2011-03-01 16:30:00
  • 7339

[C++]static, virtual, const关键字

Static成员函数能声明为const吗? 不能。static成员函数是类所有的,可以直接用类名访问,不属于任何一个对象,访问时不会带上this指针。 但是const成员函数,访问时会添加一个隐式...
  • michellechouu
  • michellechouu
  • 2016-02-23 15:00:35
  • 1161

static c ,C++类static 成员变量

1.c语言的static变量 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多...
  • z398173593
  • z398173593
  • 2011-11-07 21:07:11
  • 1739

c++------virtual const static

一、成员变量 const int a; 必须赋值或者在类的构造函数参数初始化列表中,两者只能取其一。   static int a; 不能在类中进行赋值,也不能在参数初始化列表中进行赋值。 ...
  • a2796749
  • a2796749
  • 2015-07-17 20:32:16
  • 444

const,static,全局变量细节及其区别

const: 限制符号,限制某个变量所指向的内容不能通过这个对象修改。 但是可以通过其他的修改,比如: int main(){ int x=5; const int &y=x; x+...
  • u014403897
  • u014403897
  • 2015-05-22 15:33:11
  • 2478

有关static成员函数不能用const修饰的问题

最近在网上查资料的时候偶然看到有人说static成员函数不能用const修饰的问题,感觉有点奇怪,以前都没有这么用过,也没有想过他们两个到底能不能搭配起来使用,后来仔细一想发现确实是这么回事,因为我们...
  • andy205214
  • andy205214
  • 2008-06-14 17:39:00
  • 981

iOS 中extern、static修饰变量的使用及define和const区别

(一)extren:外部变量 作用:引用其他类的全局变量 //externViewController.m 全局变量 NSString * const AFNetworkingReachabilit...
  • aiyang10
  • aiyang10
  • 2015-10-27 15:13:17
  • 1151
收藏助手
不良信息举报
您举报文章:C++中const和static修饰场景描述
举报原因:
原因补充:

(最多只允许输入30个字)