__gc是managed C++ extension中的东西对应的有__value.两者的区别在于__gc 一般对应于比较复杂的class.当该成员生命周期结束时会自动destruct掉。这样声明以后即使你在显示调用析勾函数也是无效的。这是析勾的工能是通过CLR来实现的。另外该关键词好像不能全局使用。__value对应于小的struct。详细的功能见MSDN(即用即查)
这种关键词,我是不会去常使用的,因为garbage collection这么重要的工作怎么让CLR来做呢,而且一定需要CLR,代码的可移植性会降低。
一家之见。