回答
甲范围是一个程序之内的区域内,其可以被创建并在端自动变量其中它们自动销毁。例子是函数体或for-loop的代码块。
作用域可以包围彼此和变量在外部范围可以,或可以不通过代码访问在内部范围。
例如,全球范围包含所有其他范围和变量在全球范围内创建是可见所有其他范围(根据不同的名称解析规则)。
因此范围也指对象的能见度,可以从程序中的一个给定的点来访问。
有不同类型的每个范围用自己能见度规则,例如类范围指成员变量和成员函数到的成员函数的可见性类对象。
如需更详细的定义见http://en.cppreference.com/w/cpp/language/scope
封装是当你隐藏,构成了一个对象,并且只专注于对象根据其功能接口行为的具体数据。在此C++
数据隐藏主要由标记数据作为private
或protected
使其从结构内定义它外部访问来实现的。
** scope **的第二个含义是:与名称空间和类/结构体/联合体名称中的内容分组有关。 (也可以帮助提及隐藏*是用'private'和'protected'完成的)。 –
@TonyD是的,我试图保持它简单,但我更多地考虑你的评论越复杂,我意识到这个问题。我知道关于范围的基本原则,但我不是所有细节方面的专家。 – Galik
同意 - 任何简洁的概念介绍/概述必须忽略小细节。我真的很喜欢你的第一个剪辑,只是认为值得指出范围*外*函数的类型并且与自动变量无关。通过不引入第二个含义,即“还有第二个含义”,或者在前面加上“有一个编译时名称空间范围感和一个运行时流控制范围感”,你最终意味着所有陈述适用于所有范围 - 例如第一段暗示自动变量可以放在全局和命名空间范围内。整蛊! –
他们是相似。
范围是关于定义对象的生命周期(松散地与“词法”或代码方面,它们被声明的地方的边界相关),而封装则是控制谁可以访问那些对象一生。
- 1. 抽象和封装有什么区别?
- 2. 在PHP中封装和不封装HTML有什么区别?
- 3. 范围和连接有什么区别?
- 4. 有关范围和封装
- 5. 安装Rubygems“本地”和“系统范围”有什么区别?
- 6. ColdFusion中THIS范围和APPLICATION范围有什么区别?
- 7. C中的结构和函数范围有什么区别?
- 8. 有什么区别:超出范围和:无效?
- 9. “初始范围”和“需求”有什么区别?
- 10. Perl中词法和动态范围界定有什么区别?
- 11. Angular:'='和'=?'有什么区别而在指令定义范围
- 12. 春季请求和会话范围有什么区别?
- 13. 系统范围的vimrc和用户的vimrc有什么区别?
- 14. ruby中的数组和范围有什么区别?
- 15. JPA和JDO规范有什么区别?
- 16. 什么区别\\。\ C:和\\。\ C:\
- 17. char [] c和char c []有什么区别?
- 18. Managed C++和C++/CLI有什么区别?
- 19. Visual C++和C++有什么区别?
- 20. \ c和\\ c有什么区别?
- 21. c#和visual c#有什么区别?
- 22. printf中%c和%C有什么区别?
- 23. 托管C++和C#有什么区别?
- 24. C++和C++ CLI有什么区别
- 25. 下载页面上Spark的封装类型有什么区别?
- 26. python封装范围困惑
- 27. ActiveRecord保持范围封装
- 28. 有什么区别C#
- 29. SqlCeConnection和SqlConnection C#有什么区别?
- 30. Objective-C和Cocoa有什么区别?
范围是变量或对象所在程序中的区域。封装确定变量和对象如何组合在一起。 –
我建议在http://programmers.stackexchange.com/ – jerseybyte
@coutocodes中发布此问题:为什么? –