第九周專案 理解深複製

2021-07-11 17:30:02 字數 769 閱讀 2361



(1)閱讀下面的程式,補足未完成的注釋

#include #include using namespace std;

class a

~a()

void output()

a(a &b)

~a()

void output()

我們能常在用到 sizeof 和 strlen 的時候,通常是計算字串陣列的長度

看了上面的詳細解釋,發現兩者的使用還是有區別的,從這個例子可以看得很清楚:

char str[20]="0123456789";

int a=strlen(str); //a=10; >>>> strlen 計算字串的長度,以結束符 0x00 為字串結束。

int b=sizeof(str); //而b=20; >>>> sizeof 計算的則是分配的陣列 str[20] 所佔的記憶體空間的大小,不受裡面儲存的內容改變。 

上面是對靜態陣列處理的結果,如果是對指標,結果就不一樣了

char* ss = "0123456789";

sizeof(ss) 結果 4 ===》ss是指向字串常量的字元指標,sizeof 獲得的是乙個指標的之所佔的空間,應該是

長整型的,所以是4

sizeof(*ss) 結果 1 ===》*ss是第乙個字元 其實就是獲得了字串的第一位'0' 所佔的記憶體空間,是char類

型的,佔了 1 位

strlen(ss)= 10 >>>> 如果要獲得這個字串的長度,則一定要使用 strlen

第九周專案一深複製體驗一

all right reserved.檔名稱 main.cpp 作 者 閆舒 完成日期 2016年6月12日 版 本 號 code blocks 12.11 問題描述 補足未完成的解釋 程式輸入 程式輸出 字串 include include using namespace std class a ...

第九周專案二

corpyright c 2013,煙台大學計算機學院 all right reseved.完成日期 2014年4月21日 版本號 v1.0 輸入描述 問題描述 時間累!程式輸出 問題分析 演算法設計 include include using namespace std class ctime v...

第九周專案四

corpyright c 2013,煙台大學計算機學院 all right reseved.完成日期 2014年4月22日 版本號 v1.0 輸入描述 問題描述 建立乙個向量類myvector!程式輸出 問題分析 演算法設計 include using namespace std class myv...