`

const、static的理解

阅读更多
对于C/C++语言来讲,
const就是只读的意思,只在声明中使用;
static一般有2个作用,规定作用域和存储方式.对于局部变量,static规定其为静态存储方式,每次调用的初始值为上一次调用的值,调用结束后存储空间不释放;
对于全局变量,如果以文件划分作用域的话,此变量只在当前文件可见;对于static函数也是在当前模块内函数可见.
static const 应该就是上面两者的合集.
下面分别说明:
全局:
const,只读的全局变量,其值不可修改.
static,规定此全局变量只在当前模块(文件)中可见.
static const,既是只读的,又是只在当前模块中可见的.
文件:
文件指针可当作一个变量来看,与上面所说类似.
函数:
const,返回只读变量的函数.
static,规定此函数只在当前模块可见.
类:
const,一般不修饰类,(在VC6.0中试了一下,修饰类没啥作用)
static,C++中似乎没有静态类这个说法,一般还是拿类当特殊的变量来看.C#中有静态类的详细说明,且用法与普通类大不相同.
分享到:
评论

相关推荐

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

    extern、static修饰变量的使用及define和const区别可结合博客http://blog.csdn.net/error/404.html?from=http%3a%2f%2fblog.csdn.net%2faiyang10%2farticle%2fdetails%2f49448591理解

    理解PHP5中static和const关键字的区别

    我们这里对PHP5中的static和const关键字作用进行一下描述,希望对学习PHP5的朋友有帮助。 (1) static static关键字在类中是,描述一个成员是静态的,static能够限制外部的访问,因为static后的成员是属于类的,是不...

    C++中4种强制类型转换的区别总结

    使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast。 const_cast,字面上理解就是去const属性。 static_cast,命名上理解是静态类型转换。如int转换成char。 dynamic_cast,...

    详解IOS宏与常量的使用(define,const)

    小编给大家整理了关于IOS中宏(define)与常量(const)的正确使用方法,有助于大家更加深入的理解这方面的内容。 当我们想全局共用一些数据时,可以用宏、变量、常量 宏: #define HSCoder @”汉斯哈哈哈” 变量: ...

    C# 定义常量 两种实现方法

    在C#中定义常量的方式有两种,一种叫做静态常量(Compile-time constant),另一种叫做动态常量(Runtime constant)。... public static const int MAX_VALUE = 10; 用const定义的常量,对于所有类对象而言

    嵌入式系统/ARM技术中的在嵌入式软件编程中深入理解关键字

    C语言以其简洁、高效和强大等特性成为嵌入式软件编程的首选语言,但是某些关键字,例如const、static、extern和volatile等,在不同的场合具有不同的含义,而且某些用法晦涩难懂,为此本文详细介绍这些关键字的用法...

    在嵌入式软件编程中深入理解关键字

    C语言以其简洁、高效和强大等特性成为嵌入式软件编程的首选语言,但是某些关键字,例如const、static、extern和volatile等,在不同的场合具有不同的含义,而且某些用法晦涩难懂,为此本文详细介绍这些关键字的用法...

    理解C++变量存储模型

    我们介绍了普通程序运行时在内存中的布局,下面... const char* global_const_string = "hello world"; int global_int = 20; static int global_static_int = 30; int main() { static int local_static_int = 10

    深入理解C++的对象模型

    何为C++对象模型? C++对象模型可以概括为以下2部分:  1. 语言中直接支持面向对象程序设计的部分  2....引言 ... virtual ostream& print(ostream &os) const; float _x; static int _point_count;

    C++类型转换的深入总结

    const_cast,字面上理解就是去const属性。 static_cast,命名上理解是静态类型转换。如int转换成char。 dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多态类型转换。 reinterpret_cast,仅仅重新解释...

    调高C#编程的50个基本技巧

    1.总是用属性 (Property) 来代替可访问的数据成员 2.在 readonly 和 const 之间,优先使用 readonly 3....理解 ReferenceEquals, static Equals, instance Equals 和 比较运算符(==)之间的关系

    C++ 静态成员的类内初始化详解及实例代码

    C++ 静态成员的类内初始化详解及实例代码 一般来说,关于C++类静态成员的初始化,并不会让人感到难以理解,但是提到C++ 静态... static const int vecSize = 20; static vector<double> vec(vecSize); }; //example.cp

    mockery-master用于测试的模拟对象PHP库.zip

     const BLOCKS = 'Mockery_Forward_Blocks'; ar \Mockery\Container  protected static $_container = null;  protected static $_config = null;这个工具可以通过简单的配置达到快速模拟第三方...

    提高C#编程水平的50个要点

    理解 ReferenceEquals, static Equals, instance Equals 和 比较运算符(==)之间的关系  10.理解 GetHashCode方法的缺陷  11.在编写循环时,优先使用 foreach.  12.在定义变量的时候就将其初始化  13.使用静态...

    C++高质量编程

    程序员是什么样的人?读了这本书也许你会改变对程序员的看法,同时读完本书,你兴许会发现以前...读完本书有助与认识C++的指针、理解const、static的妙用,还有隐藏、覆盖、重写都是什么,还有函数的设计,还有.......

    23道常见的C语言面试题

    文档内容涵盖了const关键字的使用、指针常量与常量指针的区别、static关键字的作用、全局变量与局部变量的区分、宏定义的作用、内存对齐的概念、inline内联函数的特点、C语言实现面向对象特性的方法、memcpy函数的...

    新手学习C++入门资料

    static_cast using catch explicit new virtual operator false private template volatile const protected this wchar_t const_cast public throw friend true reinterpret_cast try bitor xor_e and_eq ...

    探讨PHP中OO之静态关键字以及类常量的详解

    闲着没事随便找了点PHP的关于OO的点资料看看,访问控制修饰符,self,parent,const,static几个关键字,箭头操作符(书上也这么叫..即“->”),范围解析操作符(即双冒号“::”),不过觉得这个跟C#语言里的OO很多是...

    C语言中的一些算法和面试题

    C语言作为一种经典的程序设计...2. 语法细节:如const与#define区别、static的作用、结构体内存对齐等。 3. 编程技巧:如枚举的应用、位运算技巧、宏定义技巧等。 4. 内存管理:如malloc/free使用、内存泄漏、内存对齐等

Global site tag (gtag.js) - Google Analytics