在8年之后完成编程......没有编程(很快就开始上大学,刷新旧知识)。
范围和封装之间有什么区别?他们似乎很相似。
答案 0 :(得分:2)
范围是程序中的一个区域,在该区域内可以创建自动变量,并在其结束时自动销毁。示例是函数体或 for-loop 的代码块。
范围可以相互关联,外部范围中的变量可能或可能不会被内部范围中的代码访问。
例如全局范围包含所有其他范围,并且在全局范围中创建的变量可见所有其他范围(根据各种名称解析规则)。
因此范围也指可以从程序中的给定点访问的对象的可见性。
范围有不同类型,每种都有自己的可见性规则,例如类范围是指成员的可见性变量和成员函数到类对象的成员函数。
有关更详细的定义,请参阅http://en.cppreference.com/w/cpp/language/scope
封装是指隐藏构成对象的特定数据,并且只关注对象根据其功能界面的行为方式。在C++
中,此数据隐藏主要通过将数据标记为private
或protected
来实现,使其无法从结构内部访问它被定义了。
答案 1 :(得分:1)
他们 相似。
范围是关于定义对象的生命周期(松散地与"词汇"或代码方式,它们被声明的地方的边界相关),而封装是关于控制谁可以访问在那一生中的那些对象。