什么时候用到extern?
大虾,可不可通俗一点,谢.
6 个解决方案
#1
在C++中,当一个变量你在别处定义了,想在另外一处声明时可能用extern.以免编译器认为重复定义变量.
至于什么时候用到Static,请看这篇文章,讲得很详细.http://community.csdn.net/Expert/topic/4686/4686455.xml?temp=.4744837
至于什么时候用到Static,请看这篇文章,讲得很详细.http://community.csdn.net/Expert/topic/4686/4686455.xml?temp=.4744837
#2
1,在此文件中声明别的文件的变量时用extern
2,在cpp程序文件中用到c的库函数时用extern
3,声明静态变量时用static
4,声明全局变量时可用static
5,static型的变量是存储在静态存储的,他的值在程序运行时只初始化一次
2,在cpp程序文件中用到c的库函数时用extern
3,声明静态变量时用static
4,声明全局变量时可用static
5,static型的变量是存储在静态存储的,他的值在程序运行时只初始化一次
#3
想要引用其它文件中定义的标识符,用extern
static的用法主要有三种:
1、函数内,作用域只在函数内,但是生存期却贯穿整个程序运行期间;
2、函数外(或者直接修饰函数),只能作用于本文件的标识符,链接时没有歧义;
3、修饰类成员,该成员与对象实例无关,就算没有对象实例,该成员也是有效的。
static的用法主要有三种:
1、函数内,作用域只在函数内,但是生存期却贯穿整个程序运行期间;
2、函数外(或者直接修饰函数),只能作用于本文件的标识符,链接时没有歧义;
3、修饰类成员,该成员与对象实例无关,就算没有对象实例,该成员也是有效的。
#4
引用:gjianpro(#ifndef DEBUG)
1,在此文件中声明别的文件的变量时用extern
2,在cpp程序文件中用到c的库函数时用extern
3,声明静态变量时用static
4,声明全局变量时可用static
5,static型的变量是存储在静态存储的,他的值在程序运行时只初始化一次
1,在此文件中声明别的文件的变量时用extern
2,在cpp程序文件中用到c的库函数时用extern
3,声明静态变量时用static
4,声明全局变量时可用static
5,static型的变量是存储在静态存储的,他的值在程序运行时只初始化一次
#5
想要引用其它文件中定义的标识符,用extern
static的用法主要有三种:
1、函数内,作用域只在函数内,但是生存期却贯穿整个程序运行期间;
2、函数外(或者直接修饰函数),只能作用于本文件的标识符,链接时没有歧义;
3、修饰类成员,该成员与对象实例无关,就算没有对象实例,该成员也是有效的。
//=============
正解
static的用法主要有三种:
1、函数内,作用域只在函数内,但是生存期却贯穿整个程序运行期间;
2、函数外(或者直接修饰函数),只能作用于本文件的标识符,链接时没有歧义;
3、修饰类成员,该成员与对象实例无关,就算没有对象实例,该成员也是有效的。
//=============
正解
#6
补充一下:
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
#1
在C++中,当一个变量你在别处定义了,想在另外一处声明时可能用extern.以免编译器认为重复定义变量.
至于什么时候用到Static,请看这篇文章,讲得很详细.http://community.csdn.net/Expert/topic/4686/4686455.xml?temp=.4744837
至于什么时候用到Static,请看这篇文章,讲得很详细.http://community.csdn.net/Expert/topic/4686/4686455.xml?temp=.4744837
#2
1,在此文件中声明别的文件的变量时用extern
2,在cpp程序文件中用到c的库函数时用extern
3,声明静态变量时用static
4,声明全局变量时可用static
5,static型的变量是存储在静态存储的,他的值在程序运行时只初始化一次
2,在cpp程序文件中用到c的库函数时用extern
3,声明静态变量时用static
4,声明全局变量时可用static
5,static型的变量是存储在静态存储的,他的值在程序运行时只初始化一次
#3
想要引用其它文件中定义的标识符,用extern
static的用法主要有三种:
1、函数内,作用域只在函数内,但是生存期却贯穿整个程序运行期间;
2、函数外(或者直接修饰函数),只能作用于本文件的标识符,链接时没有歧义;
3、修饰类成员,该成员与对象实例无关,就算没有对象实例,该成员也是有效的。
static的用法主要有三种:
1、函数内,作用域只在函数内,但是生存期却贯穿整个程序运行期间;
2、函数外(或者直接修饰函数),只能作用于本文件的标识符,链接时没有歧义;
3、修饰类成员,该成员与对象实例无关,就算没有对象实例,该成员也是有效的。
#4
引用:gjianpro(#ifndef DEBUG)
1,在此文件中声明别的文件的变量时用extern
2,在cpp程序文件中用到c的库函数时用extern
3,声明静态变量时用static
4,声明全局变量时可用static
5,static型的变量是存储在静态存储的,他的值在程序运行时只初始化一次
1,在此文件中声明别的文件的变量时用extern
2,在cpp程序文件中用到c的库函数时用extern
3,声明静态变量时用static
4,声明全局变量时可用static
5,static型的变量是存储在静态存储的,他的值在程序运行时只初始化一次
#5
想要引用其它文件中定义的标识符,用extern
static的用法主要有三种:
1、函数内,作用域只在函数内,但是生存期却贯穿整个程序运行期间;
2、函数外(或者直接修饰函数),只能作用于本文件的标识符,链接时没有歧义;
3、修饰类成员,该成员与对象实例无关,就算没有对象实例,该成员也是有效的。
//=============
正解
static的用法主要有三种:
1、函数内,作用域只在函数内,但是生存期却贯穿整个程序运行期间;
2、函数外(或者直接修饰函数),只能作用于本文件的标识符,链接时没有歧义;
3、修饰类成员,该成员与对象实例无关,就算没有对象实例,该成员也是有效的。
//=============
正解
#6
补充一下:
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。