相关疑难解决方法(0)

什么是外部联系和内部联系?

我想了解外部联系和内部联系及其区别.

我也想知道的意思

const默认情况下,变量内部链接,除非另有声明extern.

c++ c++-faq

318
推荐指数
8
解决办法
12万
查看次数

文件范围和全局范围:C&C++

我是学生,我对C和C++中的全局和文件范围变量感到困惑.这两种观点有什么不同吗?如果是,请详细说明.

c c++ scope global-scope

12
推荐指数
3
解决办法
2万
查看次数

为什么文件范围静态变量必须为零初始化?

C++默认初始化不会将变量与自动存储器清零,为什么对静态存储变量进行特殊处理?

它是由C和C++定义的东西必须兼容吗?如果是这样的话,为什么C决定进行零初始化?

如果文件范围静态变量与初始化程序一起提供,它们将首先进行零初始化,然后再次进行常量/动态初始化.这不是多余的吗?例如,以下代码来自cppreference:http://en.cppreference.com/w/cpp/language/zero_initialization

#include <string>

double f[3]; // zero-initialized to three 0.0's
int* p;   // zero-initialized to null pointer value
std::string s; // zero-initialized to indeterminate value
               // then default-initialized to ""
int main(int argc, char* argv[])
{
    static int n = argc; // zero-initialized to 0
                         // then copy-initialized to argc
    delete p; // safe to delete a null pointer
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,为什么n不能直接初始化为argc?

编辑:这个问题的一部分已经回答了这里的问题:静态变量初始化? 但我不认为这是重复的,因为另一个问题的答案没有回答我的第二个问题,即.为什么2阶段初始化.此外,另一篇文章的标题并没有真正说明究竟是什么问题.

c c++ initialization

8
推荐指数
2
解决办法
1457
查看次数

标签 统计

c++ ×3

c ×2

c++-faq ×1

global-scope ×1

initialization ×1

scope ×1