c++的extern如何使用
时间: 2024-09-27 09:12:45 浏览: 30
在C++中,`extern`关键字用于声明全局变量或函数,表示它在当前文件之外的其他文件中也有定义。当你在一个文件中声明了一个变量或函数,并加上`extern`,而在另一个文件中提供实际的定义(即声明去掉`extern`),这时就可以实现数据共享或接口声明。
以下是`extern`的一些基本用法:
1. **声明变量**:
```cpp
extern int globalVariable;
```
这里声明了名为`globalVariable`的整型全局变量,但在当前文件中不会分配内存。需要在某个地方(通常是`*.cpp`文件中)提供定义,例如:
```cpp
int globalVariable = 0; // 定义
```
2. **声明函数**:
```cpp
extern void someFunction();
```
表示有一个外部定义的`someFunction()`,可以在别的文件中实现其功能。
3. **链接全局对象**:
```cpp
extern "C" { // 对于C风格接口
extern int myCFunction();
}
```
这里确保在C++和C之间正确地链接C函数。
**相关问题--:**
1. `extern`与`static`的区别是什么?
2. 当我们在头文件中使用`extern`声明变量时,应注意哪些事项?
3. 使用`extern`可能导致的问题有哪些?
相关问题
C++extern如何使用
C++中的`extern`关键字用于声明外部变量和函数,即这些变量和函数不是在当前文件中定义的,而是在其他文件中定义的。使用`extern`可以将这些变量和函数引入到当前文件中,以便在当前文件中使用它们。
下面是`extern`的使用方法:
1. 声明外部变量:在当前文件中声明一个已在其他文件中定义的变量,可以使用`extern`关键字。例如,假设在文件`a.cpp`中定义了一个全局变量`int a`,则在文件`b.cpp`中可以这样声明它:
```c++
extern int a;
```
这样在文件`b.cpp`中就可以使用变量`a`了。
2. 声明外部函数:在当前文件中声明一个已在其他文件中定义的函数,也可以使用`extern`关键字。例如,假设在文件`a.cpp`中定义了一个函数`void foo()`,则在文件`b.cpp`中可以这样声明它:
```c++
extern void foo();
```
这样在文件`b.cpp`中就可以使用函数`foo`了。
需要注意的是,`extern`只是声明,不是定义。也就是说,使用`extern`只是告诉编译器这个变量或函数在其他地方已经定义了,不要在当前文件中再次定义它。如果需要在当前文件中使用这个变量或函数,还需要在其他地方定义它。
c++ extern
在C++中,extern是一个关键字,用于声明一个变量或函数是在其他文件中定义的。它告诉编译器在其他文件中寻找该变量或函数的定义。在使用extern时,需要注意以下几点:
1. extern关键字可以省略,因为C++默认所有未定义的变量和函数都是extern类型。
2. 在函数声明中,extern关键字可以省略。
3. 在同一文件中,可以使用extern声明一个在其他文件中定义的变量或函数。
4. 在其他文件中定义的变量或函数,需要在当前文件中使用extern进行声明,才能使用它们。
5. 在C++中,extern "C"用于告诉编译器按照C语言的方式进行编译,以便在C++代码中调用C语言的函数和变量。
阅读全文