我不知道如果這個問題讓太多的感覺,所以我會盡量表現爲例:在C++中有從不同的內存位置打印char *的方法嗎?
想象我在內存位置&s
(NOT NULL終止)和另一個字符串串在內存位置z
(空終止)。
char s[4]; s[0] = 'a'; s[1] = 'a'; s[2] = 'a'; s[3] = 'a';
char *z = malloc(sizeof(char) * 4);
z[0] = 'a'; z[1] = 'a'; z[2] = 'a'; z[3] = '\0';
char *y = malloc(sizeof(char) * 4);
y[0] = 'a'; y[1] = 'a'; y[2] = 'a'; y[3] = '\0';
有代表一個字符串,u
的方式,那就是s
和z
串聯和另一個字符串,v
,那就是s
和y
串聯無需複製s
?
我知道它的讀取速度不會很快,但它肯定會節省更多的內存,尤其是重複次數。由於s
的值可能與z
和y
分開更改,並且更改應該出現在z
和v
中,如果可能,無需克隆s
肯定會更有效。
是的,但你必須創建自己的類來管理字符串中的這些「跳躍」。 – Overv 2014-09-01 15:06:30
您是否在製作嵌入式系統的程序,如果沒有,則忘記內存使用情況。 – Alker 2014-09-01 15:06:41
順便說一句,'malloc'比C++更C ...... – Jarod42 2014-09-01 15:19:14