【问题标题】:What does static mean when applied to a class at namespace scope?当应用于命名空间范围内的类时,静态意味着什么?
【发布时间】:2011-10-20 02:14:25
【问题描述】:

我知道命名空间范围内的static 表示“内部链接”。现在考虑以下代码:

static class Foo {} foo;

static 是否适用于 Foofoo 或两者?

【问题讨论】:

  • 测试起来相当简单...删除foo并阅读错误消息。

标签: c++ class object static linkage


【解决方案1】:

适用于类定义后声明的变量。

在 C++ 中,没有 static class 这样的东西。只有static 对象和static 函数。

【讨论】:

  • static 出现在更多地方。
  • 例如一个函数内的静态 POD。
  • @Lou:那是什么?解释。如何在函数中定义静态 POD?
  • int next(){ static int mystatic = 0;返回我的静态++; }
  • @Lou:它显示了什么?它不包含static 对象吗?我不是已经说过了吗?
【解决方案2】:

class Foo {} 声明 foo 变量的类型。 static 使 foo 静态。

【讨论】:

    猜你喜欢
    • 2020-06-21
    • 2011-08-27
    • 2023-04-02
    • 2016-12-18
    • 1970-01-01
    • 2011-08-27
    • 2012-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多