C/C++中的static
C++中的Static有两个作用。
1、 静态局部变量
静态局部变量在函数内定义 它的生存期为整个源程序,但是其作用域在该函数内,只能在定义该变量的函数内使用该变量。 允许对构造类静态局部量赋初值,若未赋以初值,则由系统自动赋以0值。
void fun1()
{
static int i = 0;
cout << ++i << endl;
}
int main()
{
for(int i = 0; i < 5; i++)
{
fun1();
}
}
Output :
1
2
3
4
2、静态全局变量
全局变量前再加上static 就成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。全局变量作用域是整个源程序,而静态全局变量作用域确是该文件。静态函数类似。
相关文档:
写在前面:
论坛里总有那么一些问题是长盛不衰的,今天这个问,明天那个问,到历史帖子里一搜可以抓出来一大把。有时候这都令我怀疑是不是我们的教育体制存在问题……
于是我开了这篇文章,搜集我见到的长生不老之帖,希望可以起到参考价值。
这里使用的编译环境为 gcc/g++ 4.3.3 for ubuntu 9. ......
今天看《C++ Templates》,看到一个非类型模板实参的例子中有这样的代码:
template <typename T, T nontype_param>
class C;
class X{
public:
int n;
static bool b;
};
C<int X::*, &X::n>* c5;
X::*可以表示X类的成员的指针,用于表示类型,第一次见, ......
C++中的数据类型转换方法
摘要:本文总结了C/C++中的多种数据类型转换方法,并比较了各自的优劣。给出了推荐的使用建议。
从int到char*,或者反过来从char*到int,在C/C++中到底有多少种转换方法呢?符合标准的大概有四种。即C数据转换函数族、sprintf/snprintf/sscanf函数族、字符串流std::stringstre ......
C语言中没有函数重载的概念!!
C语言中没有函数重载的概念!!
今天MSN群中有个人问我C语言的问题:
(两个函数实现的功能相同
但是它们参数的个数不同
我用一个函数把这个两个函数封起来
&n ......