iCo*_*unk 1 c++ assembly namespaces
它是如何工作的?是存储在特殊寄存器或内存中的变量吗?我在视觉上看注册/内存窗口,但我无法理解:(
#include <iostream>
using namespace std;
namespace first
{
int x = 5;
int y = 10;
}
namespace second
{
double x = 3.1416;
double y = 2.7183;
}
int main () {
using first::x;
using second::y;
cout << x << endl;
cout << y << endl;
cout << first::y << endl;
cout << second::x << endl;
return 0;
}
class CRectangle {
int x, y;
public:
void set_values (int,int);
int area (void);
private:
int param;
} rect;
Run Code Online (Sandbox Code Playgroud)
从机器的角度来看,没有什么不同private或者namespace.这些只是编译器的标识符.也就是说,编译器会强制执行访问规则,这就是为什么在执行不应该执行的操作时遇到编译器错误的原因.但是,编译器最终生成的二进制代码不会对数据的含义做任何区分.