澄清大家對string的誤解

2021-05-12 20:57:15 字數 556 閱讀 4814

1. string a = "123";

string b = a;

此時系統其實只分配了一塊記憶體段,a,b指向同一塊記憶體位址。

如果再執行 a = "124"; 那系統又為a分配了一塊"124"的記憶體,而b指向的還是「123」

string 是乙個特殊的引用型別。因為它是"immutable".

2. 示例**:

string str1 = "";

string str2 = "";

string str3 = string.empty;

string str4 = string.empty;

原來剛工作的時候聽一位老大講第1,2種寫法不好,因為分配了兩個為空的記憶體,其實這是

大家的一種誤導,通過除錯可知,以上四種寫法,四個變數其實指向的是同一塊記憶體區域。

當然定義乙個空字串,還是推薦3,這樣看起來比較專業些,不過1和3效果都是一樣的。

另外str1==string.empty, str.length==0 str==null 這樣的寫法最好換成string.isnullorempty(str1)啦

對SDN的誤解

誤解一 sdn一定要使用openflow協議來配置 面 openflow只是發展最早 目前影響力最大的南向介面,但是並不是唯一的。誤解二 sdn要求硬體 面的標準化 這只是openflow的要求,並不是sdn的要求。誤解三 sdn裝置可以代替所有裝置 誤解四 sdn得到了所有廠商的支援 誤解五 sd...

對敏捷開發的誤解

對敏捷開發的誤解 誤解一 敏捷對人的要求很高 很多人在嘗試實施敏捷時說 敏捷對人的要求太高了,我們沒有這樣的條件,我們沒有這樣的人,因此我們沒法敏捷。可是,敏捷對人的要求真的那麼高麼?軟體歸根到底還是一種創造性活動,開發人員的技術水平和個人能力對軟體的質量還是起著決定性的作用,各種過程與方法只是幫助...

對DllMain的誤解 轉

向原文致敬 一直以來對dllmain的了解也就侷限於,實驗性的在dllmain裡面寫上 cout dll執行 我在dllmain裡面這樣寫的 cpp view plain copy bool apientry dllmain hmodule hmodule,dword ul reason for c...