
c++中函数的定义和调用都可以嵌套吗
展开全部
C++可以用lambda在某种意义上实现函数的嵌套,不过是和直接在函数里定义函数是不一样的。
1
2
3
4
5
6
7
int foo(int x, int y)
{
auto goo = [=](){
return x + y;
};
return goo();
}
lambda实际上是定义了一个重载()运算符的类,然后实例化的时候把外层函数的局部变量当成员复制过去。
当然很多支持嵌套函数的语言(学名叫Closure)实际上还是这么干的。
1
2
3
4
5
6
7
int foo(int x, int y)
{
auto goo = [=](){
return x + y;
};
return goo();
}
lambda实际上是定义了一个重载()运算符的类,然后实例化的时候把外层函数的局部变量当成员复制过去。
当然很多支持嵌套函数的语言(学名叫Closure)实际上还是这么干的。
展开全部
不可以嵌套定义,可以嵌套调用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询