c++ - 我应该在主函数内部还是外部声明一个变量?

标签 c++ program-entry-point variable-declaration

<分区>

在 C++ 中,建议先在主程序内部或外部声明全局变量,然后再进行其他操作?我的意思是,

#include <iostream>

int variable;

int main()
{    //my program
     return 0;
}

#include <iostream>

int main()
{
     int variable;
     //my program
     return 0;
}

在什么情况下我应该使用哪一个?

最佳答案

在第一种情况下,variable 可以从文件中的所有其他函数访问(即它具有全局范围),而在第二种情况下,它只能从 main 中访问.通常,最好将您使用的全局变量的数量保持在绝对最小值,以避免污染变量空间(以及其他几个原因)。

例子:

本地到主,

int main(void) {
    int v;
    foo();
    return 0;
}

void foo() {
    v = 5; // compiler error: v not declared in this scope
}

全局,

int v;
int main(void) {
    foo();
    return 0;
}

void foo() {
    v = 5;   // compiles, v declared globally
}

关于c++ - 我应该在主函数内部还是外部声明一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36482383/

相关文章:

c++ - 我可以在 for 循环的初始化中声明不同类型的变量吗?

C++ boost,等待来自不同线程的var init

c++ - append 两个字符时出现段错误 - C++

c++ - 为什么我的 C++ Boost ASIO HTTP 客户端返回不完整的响应?

c++ - 使用单独的线程执行C++中的命令列表

c - atoi(s) 和 main 参数有问题。 C

c - 奇怪的变量类型声明

java - 诠释主要(); C - java等价物

java - 如何在方法中添加静态变量号?

c - 最佳实践 : declaring global arrays of fixed length automatically