關於結構體實例字段不能賦初值的一點感想


struct A
    {
        int i =5;
    }

大家都知道在C#中這么搞是不行的,更官方一些的說法是:結構中不能有實例字段初始值設定項.

規定是這樣,大家不要這樣用就好了撒.

但是我今天小琢磨了一下,結構體是可以實例化的,實例后內容就放到堆里去了,實例化時才分配內容空間(注意,不結構體變量本身的概念,變量本身所占空間也是編譯時放到棧里的,要不然怎么你想引用這個類型就能用咧).

既然實例化時是必然要分配空間的,那你定義時何必要給他賦個初值呢,你寫一個看不出問題,要是搞上1萬個值類型初值,這樣是非常不科學不嚴謹,不高端的,所以人家就硬性規定你丫不要這樣用撒.

話比較土,也不一定正確,就當時一點隨想吧,也許以后自己NB了,自己就能發現自己想法中的錯誤.不慎看到我這段文字的童鞋,不要隨意當真哈..


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM