271
|
jjnguy Julien Chastang · 技术社区 · 16 年前 |
![]() |
1
676
A.
|
![]() |
2
113
|
![]() |
3
37
编译器认为const成员是静态的,并且暗示了常量值语义,这意味着对常量的引用可以作为常量成员的值而不是对该成员的引用编译到使用代码中。
这与静态只读字段不同,静态只读字段将始终编译为对该字段的引用。 注意,这是预JIT。当JIT'ter发挥作用时,它可能会将这两个代码作为值编译到目标代码中。 |
![]() |
4
8
C#s
好吧,现在我意识到这个问题是4年前提出的,但由于我花了大约2个小时的时间,包括尝试各种不同的回答方式和代码格式,所以我仍在发布它。:) 但是,说实话,我还是觉得有点傻。 |
![]() |
5
7
http://msdn.microsoft.com/en-us/library/acdd6hb7.aspx ... 还有,虽然 常量字段是编译时常量 因此,在const字段中使用static就像在C/C++中尝试使一个已定义(带有#define)的static。。。由于它在编译时被替换为它的值,所以它对所有实例都会启动一次(=静态)。 |
![]() |
6
2
const与static类似,我们可以使用类名访问两个变量,但diff是静态变量,可以修改,而const不能。 |