對于像"abc"字符陣列這樣的字串標量'a', 'b', 'c',但是對于像這樣的字符向量'abc',這也是一個字符陣列嗎?為什么我們需要兩種型別的資料來保存相同的訊息?
uj5u.com熱心網友回復:
單引號版本是歷史方法,是一個矩形字符陣列。如果您想存盤的只是一個字串,這可以正常作業。但是如果你想在同一個變數中存盤多個字串,矩形陣列就變得不那么有用了,因為你必須在較短的字串上填充空格才能讓所有內容都適合矩形陣列。此外,作為陣列的一行保存的每個單獨的字串在記憶體中都不連續。
這導致使用元胞陣列在同一變數中保存多個不同長度的字串。但是,這也有缺點,因為每個字串都需要有自己的變數頭(> 100 位元組),因此會影響性能。
雙引號字串是 MATLAB 引入的一個相對較新的類,用于在單個變數中保存多個字串。單獨的字串以連續的塊保存在記憶體中,不需要單獨的變數頭,因此對它們的操作更加優化。
為了向后兼容,MATLAB 將來無疑將繼續支持所有三種方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/370908.html
