关于结构体实例字段不能赋初值的一点感想


struct A
    {
        int i =5;
    }

大家都知道在C#中这么搞是不行的,更官方一些的说法是:结构中不能有实例字段初始值设定项.

规定是这样,大家不要这样用就好了撒.

但是我今天小琢磨了一下,结构体是可以实例化的,实例后内容就放到堆里去了,实例化时才分配内容空间(注意,不结构体变量本身的概念,变量本身所占空间也是编译时放到栈里的,要不然怎么你想引用这个类型就能用咧).

既然实例化时是必然要分配空间的,那你定义时何必要给他赋个初值呢,你写一个看不出问题,要是搞上1万个值类型初值,这样是非常不科学不严谨,不高端的,所以人家就硬性规定你丫不要这样用撒.

话比较土,也不一定正确,就当时一点随想吧,也许以后自己NB了,自己就能发现自己想法中的错误.不慎看到我这段文字的童鞋,不要随意当真哈..


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM