1.strlen()方法:#include 不含 strlen() 方法,若要使用應當引入 標頭檔案
2.vs調整字型大小:ctrl+shift+ >或<
3.控制輸出的精確度:#include
4.程式執行出現「燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙燙…」: 這種亂碼最常見的地方是visual studio裡。
visual studio中,未初始化的棧空間用0xcc填充,而未初始化的堆空間用0xcd填充。
而0xcccc和0xcdcd在中文gb2312編碼中分別對應「燙知」字和「屯」字。
如果乙個字串沒有結束符』\0』,輸出時就會列印出未初始化的棧或堆空間的內容。
解決方案:在使用陣列前,先百把字元陣列用『\0』初始化
char t[
100]
=;
5.struct 和 class 區別:struct預設許可權為public,class預設許可權為private
6.string轉int方法:採用標準庫中atoi函式,對於其他型別也都有相應的標準庫函式,比如浮點型atof(),long型atol()等等
std::string str =
"123"
;int n =
atoi
(str.
c_str()
);cout/123
7.push_back()函式:在陣列或字串最後新增乙個元素(引數為要插入的值)
string str2;
cin>>str2;
string s2;
for(
; str2[i]
!='/'
; i++
)
8.生成陣列時沒賦初始值的問題
全域性變數如果bai沒有初始du化,會自動初始化為0
區域性變數在棧中,初值是未知的,計算機隨機附的值的位址,不斷變化(一般是0xcccccccc)
若int arr[5] = ;陣列已經手動初始化為
C 學習隨筆
過載 通過函式過載實現類的多型特性,其特徵 1 同一作用域內 同一類中 2 相同的函式名。3 引數與返回型別不同 僅返回型別不同,不是過載函式。4 virtual關鍵字不影響。覆蓋 通過函式覆蓋實現類的繼承特性,其特徵 1 不同作用域 非同一類中 2 函式名 引數都相同。3 基類中的函式須有virt...
C 學習隨筆
1.引用必須在宣告時初始化,並且初始化後不能改變其值,類似於是乙個指標常量,而指標可以先宣告再初始化,並且指標指向的值可以隨時改變。2.如果帶引數列表的函式,必須從右向左新增預設值,也就是說如果函式引數列表中某乙個引數設定為預設值,那麼其右的所有引數必須提供預設值 int test int a,in...
c 學習 隨筆五
1 c stl中提供了順序容器和關聯容器。vector,list,deque為順序容器 map,set,multiset,multimap為關聯容器。其中每種容器均提供預設的建構函式來初始化容器物件。vectorstr 5 在這句 中,首先容器使用string的預設建構函式建立了乙個臨時值來建立容器...