- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
struct A
{
static void f();
};
static void A::f() {} //illegal
为什么不允许这样做?我问这个是因为规则似乎与其他关键字不一致。
你必须把 constexpr
放在两者上。
你可以把 inline
放在两者上,但你也可以省略其中之一。这很有用,你可以在类定义中省略 inline
,这不是接口(interface)的重要信息。
但是 static
类成员的规则并没有真正意义。不应该和constexpr
一致吗?
我知道 static
表示命名空间范围函数的内部链接,这部分解释了当前的形状。但是在命名空间范围内不区分自由函数和类成员函数没有歧义吗?例如,如果您编写 static void A::f() {}
,如果 A 是类名,那么您正在定义 A 的成员函数是明确的。
最佳答案
类中的static
在全局或命名空间中有其他含义。
当您在类中将符号声明为静态时,您不希望它成为全局静态。
<强>1。静态成员
在类中是指符号是类相关的而不是对象相关的,意味着对于成员变量,所有对象只有一个实例,对于函数,它不能访问非静态成员,这些成员是面向对象。 .
<强>2。静态全局
在全局范围内,static
表示对象或函数只是本地的,不能导出(如使用extern
)到其他文件。此外,它还允许您在其他文件中为其他变量使用相同的名称。因此,如果它位于头文件中,则包含头文件的任何文件都将具有不同的符号实例。
因此如果您被允许在成员的全局范围内使用它,那么就会出现歧义。
关于c++ - 为什么不允许将类成员定义的 `static` 关键字放在命名空间范围内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32398987/
我当前项目中的许多类都有几个只能从类本身内部调用的属性和方法。此外,根据类(class)的当前状态,它们可能会扰乱类(class)的工作。 目前,所有这些接口(interface)都在 .h 文件的主
我想使用ngbTabSet将nav-pills in card-header 和tab-content in card-body。但我不知道该怎么做。 这是我尝试实现的示例(使用 bootstrap.
我正在浏览文档以查找如何允许放置在停靠栏图标上。据我所知,建议您使用 LSItemContentTypes,因为 CFBundleTypeOSTypes 已弃用。但是,我无法让 LSItemConte
我正在尝试在书签中使用 jquery UI 作为 slider 。并且 jquery ui 要求在普通 jquery 文件之后包含该文件。 所以到目前为止我所尝试的只是将脚本附加到 header ,同
您好,我尝试了广泛的谷歌搜索,但似乎没有任何帮助。 这是我的场景: 公司 Logo 存储在外部域/网址(矩形)中。 带有谷歌地图的 Ionic 应用程序,将这些 Logo 作为标记放置在 map 上。
我今天在阅读我的一些 C# 代码时发现了这一行: if (ProgenyList.ItemContainerGenerator.Status != System.Windows.Controls.Pr
我刚遇到this question在 Go FAQ 中,它让我想起了困扰我一段时间的事情。不幸的是,我真的不明白答案是什么。 似乎几乎所有非 C 类语言都将类型放在变量名之后,如下所示: var :
这是有效的 HTML 吗? 最佳答案 作为元素可以包含 phrasing content ,以及属于该组,则有效。 从语义上(并且具有一些常识),如果唯一的内容是 , 不;如果它同时包含文本和图像
这是有效的 HTML 吗? 最佳答案 作为元素可以包含 phrasing content ,以及属于该组,则有效。 从语义上(并且具有一些常识),如果唯一的内容是 , 不;如果它同时包含文本和图像
我有两本 T.Parr 写的关于 ANTLR 的书,我到处都看到美元符号和符号的引用。它也对我有用: term : IDENT -> { new TokenNode($IDENT) }; 或更复杂的东
我在实现段控制时遇到了一些问题。因为我希望它是一个固定的标题,所以当我滚动时我总是可以看到它,我已经在 - (UIView *)tableView:(UITableView *)tableView v
我有一个 20x36px (10x18pt) 的箭头图像,当我选择一个 UIImageView 时,将它拖到我的 View Controller 上然后设置图像,它总是模糊的。我只在我的项目中包含 @
How can I put background image when I hover a link Insert Bg in this a when hov
我需要在我的 .container 中添加(最新的第一个)新分区,但在 .controls (按钮)之后。可能吗? 注意:添加新的分区来保存按钮下方的前置控件对我来说不是一个选择。 HTML 需要保持
我是一名优秀的程序员,十分优秀!