首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >面向对象编程

面向对象编程
EN

Stack Overflow用户
提问于 2010-04-02 15:06:11
回答 4查看 637关注 0票数 0

在C#、Java、C++等面向对象语言中,函数的嵌套是可能的吗?如果是这样的话,谁能举个例子?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-04-02 15:08:00

拥有嵌套函数与面向对象无关。

运算符来模拟一个嵌套函数(参见is it possible in C or C++ to create a function inside another?).

  • Meanwhile,许多非面向对象的语言,比如(原始的) Pascal本身就支持嵌套函数,而在C中,
  • 支持它作为一个扩展。
票数 3
EN

Stack Overflow用户

发布于 2010-04-02 15:10:58

Implementing Nested Functions in C#

票数 0
EN

Stack Overflow用户

发布于 2010-04-02 15:46:24

正如其他答案所指出的那样,因为现在可以在大多数语言中创建匿名函数,所以可以将这样的函数对象赋给变量,这将有效地产生局部函数(尽管递归可能很棘手)。

在C++1x之前的C++中,匿名函数(称为lambda)还不可用。但是,您仍然可以在函数中声明函数,因为您可以在函数中声明类或结构。如果让类实现operator(),然后实例化该类并将其存储在命名变量中,就可以有效地实现与C++1x中lamda相同的效果。

问题是它将(a)变得更加冗长,(b)它将不被允许作为模板的参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2565459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档