數值比較是所有判斷的本質
toupper(),頭文件ctype,將字母轉換爲大寫的標準庫函數
在case中創建一個變量時,需要用大括號{}把case的部分括起來。
在要執行的語句之前接連寫出各個case標籤,就可以爲多種不同的case採取相同的動作如:
case 'a':case 'e':case 'i':case 'o' :case 'u':
cout<<"漂亮!”;
myLabel:cout <<"myLabel branch has been activated"<<endl;給該語句創造一個標籤
goto myLabel 轉移到標籤中,用於從多種循環中跳出
基於範圍的for循環
double temperatures[]={65.5,68.0,75.0,77.5,76.4,73.8,80.1};
for(double t:temperatures)
{
sum+=t;
++count;
}
_countof()計算數組元素的個數,頭文件cstdlib。是microsoft擴展不是標準c++.也可以返回多維數組中某一行列元素個數
nullptr可以隱式轉換爲任何指針類型,但不能隱式轉換爲除Bool類型外的其他任何整數類型
char類型的指針其指針存儲的地址爲指向的字符串的首字符地址。但是流輸出操作看待指向char類型的指針類型的方式很特殊。
輸出操作以一種特殊的方式來看待這種類型的指針,即將其視爲字符串(即char數組),因此輸出字符串本身,而不是地址
sizeof操作符產生size_t類型的整數值,其中size_t是由標準庫定義的類型,很多標準庫函數會返回size_t類型的值,size_t類型是用typedef語句定義的,等價於一個基本類型,通常爲unsigned int。
const *ptr 常量指針,要求值不變。*prt const 指針常量,要求所指對象不變。
讓指針指向二維數組,需要如此:ptr=&beans[0][0],或者ptr=beans[0];不能ptr=beans;指針數組如此定義double (*ptr)[4]
當使用delete操作符拋棄之前分配的某些內存後,還應該總是將該指針重置爲nullptr;
可以使用變量來指定new分配的一維數組的維數,對二維或多維數組,僅限於用變量指定最左邊那一維,其他維必須爲常數。
for(auto t:temperatures) for(auto &t:temperatures)
{ {
sum+=t;++count ....}
}//不可以使用它修改元素,因爲t沒有引用數組元素 這樣引用就可以修改
int x{5};int &&rExpr{2*x+3};用&&來指定一個rvalue引用,是一個臨時值。
strlen()顯示字符串長度,不包括結尾的空字符。strnlen爲其安全版本,第二個參數爲_countof(str),指定緩衝區長度。
strcat_s 連接兩個以空字符結尾的字符串
strcpy 將字符串從源位置複製到目標位置。第一個參數指向目標位置,第二個爲源位置
strcmp比較通過參數指定的兩個以空字符結尾的字符串。
strspn搜索字符串中不包含在給定集合中的第一個字符,並返回該字符索引
strstr返回一個指針,指向第一個參數中第二個參數指定的子字符串的位置