C++中局部类为什么不能定义静态数据成员,请各位高手不吝赐教

时间:2021-11-21 18:52:06
请教C++高手们,问题是局部类为什么不能定义静态数据成员,请各位高手不吝赐教,我想知道其中的缘由,久不能释怀,望高手们赐教。

12 个解决方案

#1


请发到 C# 板块

C++没有局部类这个概念 

#2


标准规定的。
A local class shall not have static data members.

#3


静态数据成员需要在名字空间域内定义,而局部类只在定义它的局部域内可见,因为没有语法在名字空间域中定义局部类的成员,所以局部类不能有静态成员

#4


引用 2 楼 pengzhixi 的回复:
标准规定的。
A local class shall not have static data members.


局部类?是什么东东啊?我还真的不懂,请指教...

#5


3楼 那请问一个。这个和在函数内定义一个静态变量有什么区别?

#6


请看《C++ Primer》局部类那一节

#7


其实就是语法规定那样。

#8


看了后不是十分清楚,还请3楼的要是能明白还是给我说一下,谢谢~

#9


语法背后都有其逻辑内涵

#10


引用 4 楼 qinqijing_123 的回复:
引用 2 楼 pengzhixi 的回复:
标准规定的。
A local class shall not have static data members.


局部类?是什么东东啊?我还真的不懂,请指教...


偶也没见过。。。。GOOGLE下

#12


拜读一下,现在知道还有局部类一说

#1


请发到 C# 板块

C++没有局部类这个概念 

#2


标准规定的。
A local class shall not have static data members.

#3


静态数据成员需要在名字空间域内定义,而局部类只在定义它的局部域内可见,因为没有语法在名字空间域中定义局部类的成员,所以局部类不能有静态成员

#4


引用 2 楼 pengzhixi 的回复:
标准规定的。
A local class shall not have static data members.


局部类?是什么东东啊?我还真的不懂,请指教...

#5


3楼 那请问一个。这个和在函数内定义一个静态变量有什么区别?

#6


请看《C++ Primer》局部类那一节

#7


其实就是语法规定那样。

#8


看了后不是十分清楚,还请3楼的要是能明白还是给我说一下,谢谢~

#9


语法背后都有其逻辑内涵

#10


引用 4 楼 qinqijing_123 的回复:
引用 2 楼 pengzhixi 的回复:
标准规定的。
A local class shall not have static data members.


局部类?是什么东东啊?我还真的不懂,请指教...


偶也没见过。。。。GOOGLE下

#11


#12


拜读一下,现在知道还有局部类一说