gpt4 book ai didi

c++ - 职能范围是什么意思?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:10:03 27 4
gpt4 key购买 nike

函数范围是什么意思?

我了解变量的范围。当我们谈论函数的范围时,它是指结构(类)中的函数还是我们在 C/C++ 程序的 main() 中调用的普通函数的范围?

最佳答案

笼统地说,作用域 是可以在其中声明名称的区域。在作用域中声明的名称可以在该作用域内访问,在某些情况下,也可以从外部访问。

(准确地说,这实际上是一个声明区域,名称的范围是程序中名称有效的部分。它从宣布的地方开始,包括该地区的其余部分,有时还包括其他一些地区。)

作用域由命名空间、类和复合语句(即 {} 包围的代码语句 block )引入。最后一个包括函数体。

大多数对象和函数都有名称,每个名称都在一个范围内。

所以“函数的范围”可能意味着两件事:要么是函数体定义的范围,其中声明了局部变量;要么或声明函数名称的范围(类或命名空间)。

更新:你说你的意思是函数名的范围。这总是在声明之后立即开始;它在哪里结束取决于声明的位置。

  • 如果它是在命名空间内声明的,它将持续到该命名空间关闭为止。如果命名空间稍后在同一个翻译单元中重新打开,那么它会回到那里的范围内。
  • 如果它在类定义中被声明为成员函数,则作用域持续到类定义结束。它也在任何派生类的定义范围内,以及该类或派生类的成员的定义范围内。
  • 如果它在类定义内声明为友元,或在函数定义内声明,则该名称实际上在周围的命名空间中声明,范围与这种情况相同。

关于c++ - 职能范围是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11345631/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com