1.short類型爲16位,能表示的最大值爲32767.
2.位操作符(對二進制數據操作)
~ //按位取反(1變0,0變1)
<< />> //左,右移位運算.
& 位與 //有0爲0,同true才爲1.
^ 位異或 //同0異1
| 位或 //有1爲1,同false才爲0
3.bitset 對象或整型值使用(對比)
①定義30位二進制數據對象,儲存簡單數據
bitset<30> bitset_quiz;
unsigned long int_quiz = 0; //32位.
②27位上設置爲1;
bitset_quiz.set(27);
int_quiz |= 1UL << 27 ; →int_quiz = int_quiz | 1UL << 27;
③27位上設置爲0;
bitset_quiz.reset(27);
int_quiz &= ~(1UL << 27); → int_quiz = int_quiz &~(1UL << 27);
ps:bitset 對象更優於 整型對象 進行低級直接位操作
4.Sizeof操作符
sizeof 對數組進行操作 = 對數組類型做sizeof 操作 x 數組元素個數.
int arr[x];
int *p = arr;
對指針所指對象作sizeof 操作需要解引用(*)
sizeof(arr); //得整個數組佔內存的存儲長度
sizeof(*p); //返回arr[0] 類型長度.
5. new 和 delete 表達式指針
①如果指針指向不是用new分配的內存地址,則在該指針上使用delete是不合法的.
int ival = 10;
int *pi = &ival;
string pc = "a simple string";
delete pc; //error, pc不是一個指針
delete pi; //error pi指向的不是用new分配的內存地址的指針
② delete 後,重設指針的值
指針仍會指向原來的內存地址(此時的指針稱作懸垂指針),應立即將指針置爲0,表示不再指向任何對象.