內建型別的指標、引用,sizeof大小、虛函式大小
1char
yinyong =10
;2char&z
=yinyong;
3cout
<<
sizeof
(z)
<<
endl;45
intintee =10
;6int&
intez
=intee;
7cout
<<
sizeof
(intez)
<<
endl;89
char
*zz =&
yinyong;
10cout
<<
sizeof
(zz)
<<
endl;
輸出結果為1 4 4
內建型別的指標的sizeof值是:4
虛函式、整型ival各需要4 byte,總計8byte。
如果注釋掉9、10、11行,輸出大小為1。也就是說乙個類內沒有任何成員變數、成員函式、虛函式,它的sizeof大小為 1 byte。
string物件中的字元處理
我們經常要對string物件中的單個字元進行處理,例如通常需要知道某個特殊字元是否為空白字元、字母或者數字。這些函式定義在cctype標頭檔案中。
isdigit(c) 是否是數字 islower(c) 是小寫字母 isupper(c) 是大寫字母 isspace(c) 是空白字元
ispunct(c) 是標點符號 tolower(c) 轉換成小寫字母 toupper(c) 轉換成大寫字母 isalpha(c) 是字母?
解引用操作符* 和 自增操作符++ 的優先順序
*iter++
++的優先順序高於*。
string
mystring ="
meng";
cout
<<
mystring.size()
<<
endl;
if(mystring[4]
==null)
cout
<<
"true
"<<
endl;
執行的結果是,4 true
這說明string物件的末尾也有個null。
mystring.length() 結果也是4。
vector, deque都支援容器的隨即訪問,vector插入刪除非末端元素耗費代價高。deque插入刪除非兩端位置元素代價高。
list不支援隨機訪問元素,但可以在任意位置插入刪除元素而消耗很低的代價。
1list
<
int>
ilist;
2vector
<
int>
ivec;
3deque
<
int>
ideq;
4ilist[
3];
//error
5ideq[
3];
//ok
ivec[
3];
//ok 1
string
str ="
stately plump buck";
2char
*cp ="
stately plump buck";
3string
s1(str,
7), s2;
4s2.assign(cp, 7);
5cout
<<
s1 <<
endl;
6cout
<<
s2 <<
endl;
列印結果為
空格plump buck
stately
空類的sizeof大小
空類指的是裡面只有非virtual成員函式的類,並且不繼承任何類,無成員變數。其sizeof大小為1。
c 小知識點
1 陣列間拷貝只能使用for迴圈乙個乙個拷貝,但是vector之間可以直接用乙個vector初始化另乙個vector。int main 2 vector 之間比較大小直接用 3 對於實參型別相同,並且數目不確定的情況下我們可以傳遞名為initializer list的標準庫型別。int func s...
C 小知識點
1.在c 中,每個程式必須包含乙個main 的入口函式,只有這樣,這個專案才能執行.2.函式包括 函式名,引數,返回值.3.return 是c 的預定義語句,提供了終止函式的一種方法 return 0表示成功執行正常退出.4.using namespace std 是指引用c 的標準庫.5.c 的4...
c小知識點
一 rand rand 函式用來產生隨機數,但是,rand 的內部實現是用線性同餘法實現的,是偽隨機數,由於週期較長,因此在一定範圍內可以看成是隨機的。rand 會返回乙個範圍在0到rand max 至少是32767 之間的偽隨機數 整數 在呼叫rand 函式之前,可以使用srand 函式設定隨機數...