extern int在Qt中
时间: 2023-12-27 19:02:00 浏览: 130
在Qt中使用`extern int`和在普通的C++程序中使用是一样的。`extern`关键字是用来声明一个全局变量,表示该变量在其他文件中定义。在Qt中,通常会在头文件中声明全局变量,然后在源文件中定义它们。例如,在头文件中声明一个全局变量`extern int myGlobalVar;`,然后在源文件中定义它`int myGlobalVar = 0;`。这样,其他文件就可以通过包含头文件来访问这个全局变量了。
相关问题
在qt中使用extern
在Qt中使用`extern`关键字与在C++中使用是相同的。`extern`关键字用于声明一个全局变量或函数,它告诉编译器该变量或函数是在其他地方定义的。
在Qt中,你可以使用`extern`关键字来声明一个在其他文件中定义的全局变量或函数,并在当前文件中使用它。下面是一个示例:
假设你有两个文件:main.cpp 和 other.cpp,你希望在 main.cpp 中使用 other.cpp 中定义的全局变量 `myGlobalVar`。首先,在 main.cpp 中使用 `extern` 声明该变量:
```cpp
// main.cpp
extern int myGlobalVar;
int main()
{
// 使用 myGlobalVar
return 0;
}
```
然后,在 other.cpp 中定义该全局变量:
```cpp
// other.cpp
int myGlobalVar = 42;
```
这样,你就可以在 main.cpp 中使用 `myGlobalVar`,而不需要重新定义它。
对于函数的声明和定义,也可以使用 `extern` 关键字。例如,如果你希望在 main.cpp 中调用 other.cpp 中定义的函数 `myFunction()`,你可以这样做:
```cpp
// main.cpp
extern void myFunction();
int main()
{
// 调用 myFunction
myFunction();
return 0;
}
```
```cpp
// other.cpp
#include <iostream>
void myFunction()
{
std::cout << "Hello from myFunction!" << std::endl;
}
```
这样,你就可以在 main.cpp 中调用 `myFunction()`,而不需要重新定义它。
请注意,使用 `extern` 关键字时,你需要确保在使用之前已经在其他地方定义了相应的变量或函数。否则,编译器将会报错。
qt 使用extern
在 C++ 中,`extern` 关键字用于声明一个变量或函数是在其他文件中定义的。在 Qt 中,`extern` 通常用于在不同的源文件中共享对象或函数。
例如,如果你在一个源文件中定义了一个全局变量,而另一个源文件需要访问该变量,则可以在后者中使用 `extern` 关键字来声明该变量:
```cpp
// file1.cpp
int globalVar = 42;
```
```cpp
// file2.cpp
extern int globalVar;
```
这告诉编译器,`globalVar` 变量在其他文件中定义,因此编译器应该在连接时查找这个变量的定义。
同样,当你在一个源文件中定义了一个函数,但想在另一个源文件中使用该函数时,也可以使用 `extern` 来声明该函数:
```cpp
// file1.cpp
void myFunction() {
// ...
}
```
```cpp
// file2.cpp
extern void myFunction();
```
这告诉编译器,`myFunction` 函数在其他文件中定义,因此编译器应该在连接时查找该函数的定义。
在 Qt 中,`extern` 通常用于在不同的源文件中共享全局变量或函数。例如,在一个 Qt 应用程序中,你可能会在一个源文件中定义了一个全局变量,而在另一个源文件中定义了一个函数,该函数需要访问该全局变量。在这种情况下,你可以在函数所在的源文件中使用 `extern` 来声明全局变量,以便在连接时查找该全局变量的定义。
```cpp
// file1.cpp
int globalVar = 42;
```
```cpp
// file2.cpp
extern int globalVar;
void myFunction() {
// 使用 globalVar 变量
}
```
阅读全文