问题标签 [local-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
490 浏览

c++ - 在函数内部声明的相互 C++ 类

如何在函数内部定义类,以便它们“了解”彼此?这是我试图理解的一个非常愚蠢的版本。我想做类似的事情:

这不起作用,因为 A::bar() 还不知道关于 B 的任何事情。在函数之外,我可以将 A::bar() 的定义推迟到声明 B 之后。就像是:

但这似乎在函数内部不起作用。

代替一些使这一切工作的聪明的范围声明,我也欢迎一个明确的答案,说这在 C++ 中是不可能的(请参考)。

我知道还有其他方法可以解决这个问题(例如,在 foo 之外声明类),所以我不是在寻找关于如何做类似事情的答案......

0 投票
2 回答
3629 浏览

c++ - 为什么不能将函数内部定义的结构用作 std::for_each 的函子?

以下代码将无法编译。编译器抱怨*没有匹配函数调用 for_each*。为什么会这样?

当我struct FlipFunctor在 function 之前移动时flip_all,代码会编译。

完整的错误信息:

没有匹配函数调用 'for_each(std::_Rb_tree_iterator<std::pair<Element* const, Element*> >, std::_Rb_tree_iterator<std::pair<Element* const, Element*> >, flip_all(std ::map<Element*, Element*, std::less<Element*>, std::allocator<std::pair<Element* const, Element*> > >)::FlipFunctor)'</p>

0 投票
3 回答
1837 浏览

java - Java 本地类和接口

我想知道下一件事是否可以实施:

假设我有 2 个接口,而每个接口都有 1 个函数头。 例如,iterface1 具有函数 g(...),interface2 具有函数 f(...)

现在,我创建了一个类并声明该类正在实现这两个接口。在课堂上,我尝试做下一件事:

我开始实现函数 g(...),在它的实现中,我创建了一个实现 interface2 的本地类,并在这个类中添加了 f(...) 的实现。

0 投票
6 回答
1460 浏览

c++ - 为什么本地类中的字段不能是静态的?

除了来自标准的参考之外,这背后是否有任何动机禁止static内部类中的字段?

编辑:但是,static允许成员函数。对于这种情况,我有一个用例。假设我只想foo()为 POD 调用,那么我可以像这样实现它,

foo()应该只通过 POD(如果static允许)而不是其他数据类型。这只是我想到的一个用例。

0 投票
3 回答
2391 浏览

c++ - 本地类、内部类和嵌套类在 C++ 中是一样的吗?

本地类、内部类和嵌套类在 C++ 中的含义相同吗?

0 投票
4 回答
269 浏览

java - 爪哇。本地课程有什么理由不让它成为最终的吗?

我有一个关于Java中的本地类的问题(在方法中声明的类或由 { } 限制的块中的类)。

有什么理由不将本地类声明为final吗?我们不能从本地类继承其他类(如果它没有在同一范围内定义),但是当我们将其声明为final时,也许编译器可以使代码更简单?

谢谢!

0 投票
4 回答
10116 浏览

c++ - 为什么本地类中不允许使用静态数据成员?

为什么static const成员不能存在于本地类中的原因是什么?这似乎是一个相当愚蠢的限制。

例子:

引用标准(9.8.4):

本地类不应具有静态数据成员。

0 投票
3 回答
1675 浏览

c++ - 本地类:C++03 与 C++11

C++11中本地类的使用有什么变化吗?

在 C++03 中,本地类似乎不能用作模板参数(我记得)。

考虑这段代码,

但它给出了编译错误(C++03模式),说(ideone):

prog.cpp:4: 错误:没有匹配函数调用 'f(main()::S)'</p>

但是,在 C++11 模式( ideone )下编译时它编译得很好,这对我来说很有意义,否则 lambda 将无法工作。所以我猜想本地类的使用至少有这种变化。我对吗?本地课程还有哪些其他变化?

请引用标准中的相关文本(C++03 和 C++11 两者),以便读者自己比较,以备将来参考。

0 投票
1 回答
88 浏览

java - 为什么 Java 抱怨找不到我的本地类?

我正在尝试设置 Dozer 以在我的两个实体之间执行复杂的映射。本质上,我希望它percentCompleted根据值是否为 1 (100%) 将我的 double 转换为布尔值。

为此,我创建了以下方法:

问题是.fields()调用会抱怨,因为它说找不到isCompletedConverter. 由于这是我第一次参加本地课程,我确信我做错了什么,但我无法弄清楚到底是什么。

0 投票
3 回答
687 浏览

c++ - 如何使用本地班级的好友功能?

由于可以在本地类中声明友元函数,如下例所示。如果在函数定义中定义了本地类的成员,而在它之外无法访问,那么它如何用于访问本地类的成员?