在非限定id后的静态数据成员定义中使用的名称



摘自N3797第3.4.1/13节:

类X的静态数据成员定义中使用的名称(9.4.2)(在静态成员的限定id之后)被查找为如果在x的成员函数中使用了该名称

在类X的静态数据成员的unqualified-id之后,如何查找定义中使用的名称是不清楚的。

All在9.4.2中编写。引用自n3376 9.4.2/2

在命名空间作用域的定义中,静态数据的名称成员应使用::操作符由其类名限定。的静态数据成员定义中的初始化表达式类的作用域[示例:

]
class process 
{ 
   static process* run_chain; 
   static process* running; 
};
process* process::running = get_main();
process* process::run_chain = running;

类process的静态数据成员run_chain在global中定义范围;表示法process::run_chain指定成员Run_chain是类process的成员,在类的作用域中的过程。在静态数据成员定义中,初始化式表达式是指类进程运行的静态数据成员。- end示例]

最新更新