文档章节

c/c++基础回顾-static

IT小伙
 IT小伙
发布于 2015/05/26 00:56
字数 598
阅读 20
收藏 0

1. static变量只初始化一次,多次初始化会出现错误

2. (static)静态全局变量和(auto)动态全局变量,静态局部变量和普通局部变量,静态成员变量和普通成员变量区别,其实主要体现在生命期和作用域

  •  静态全局变量与动态全局变量不同主要体现在其作用域,静态全局变量作用域存在于当前文件,而动态全局变量作用域存在于整个项目文件,其他文件使用该变量涉及extern关键字,两者的另一差异体现在static全局变量默认初始化为0

  •  静态局部变量和普通局部变量差异体现在其生命期,虽然两者的作用域都属于该局部区域,例如一个函数里,普通的局部变量在函数return掉后会销毁,而静态局部变量生命存在于程序运行阶段,它和全局变量一样存在于内存的全局数据区。静态局部变量存在默认初始化

  •  静态成员变量和普通成员变量对于其作用域明确的说,前者属于类,后者属于类的实例(对象)。同时两者的初始化也存在差异,静态成员变量不存在默认初始化(该处说法可能存在问题),必须自己进行初始化。由于静态成员变量必须在程序运行时(简单理解为进入入口函数时)必须已经被定义,所以它的初始化应该在全局函数,入口函数前面等地初始化,不能在类的构造函数中初始化(普通成员变量在构造函数中初始化),但也要避免在头文件中初始化,因为头文件可能多次被包含导致多次初始化。静态成员变量初始化方法:类型 类名::变量名 = 值 ;(int A::a = 2 ;)

3. static的记忆性(体现在生命期)和隐藏性(体现在作用域)

© 著作权归作者所有

下一篇: lib和dll详解
IT小伙
粉丝 1
博文 9
码字总数 1773
作品 0
南充
程序员
私信 提问
C/C++与Objective-C的区别(转载)

Objective-C,通常写作ObjC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。所以有一定C/C++语言基础理解和掌握Objective-C也会相应的快些。这回,我们将比较着学习Objective-C语...

晨曦之光
2012/05/16
870
0
const static在c c++中的作用

一.C语言中的const const是C语言中保留的一个关键字,它用来限定一个变量是只读的,即不可变的。程序中使用const可以在一定程度上提高程序的健壮性,但是程序中使用过多的const,可能在对代码...

y_x
2011/11/17
508
0
代码等静态分析(Clang/LLVM,Hades)

> Clang/LLVM 针对 C/Objective-C 主流的静态分析开源项目包括:Static Analyzer、Infer、OCLint 等。 对于 C/Objective-C 而言,主流编译器是 Clang/LLVM(Low Level Virtual Machine)的,...

desaco
2018/11/25
0
0
对malloc的返回值应该如何转型

本文概括叙述了一篇老文的内容,并且总结对malloc返回值的3种转型方式,(相对于原文)更全面的总结其各自的应用范围。 1. 原文内容 2. 对malloc的3种转型方式 3. 各自的应用范围 以前有篇文...

Start-up
2012/05/08
65
0
Mac 编译&安装 PHP-CPP

What is PHP-CPP? A C++ library for developing PHP extensions. It offers a collection of well documented and easy-to-use classes that can be used and extended to build native ext......

王And木
2018/06/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
16
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
18
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部