關於"表達式"的一些筆記


1.short類型爲16,能表示的最大值爲32767.

 

2.位操作符(對二進制數據操作)

  ~        //按位取反(10,01)

  << />>    //左,右移位運算.

  &        位與        //00,true才爲1.

  ^        位異或       //01

  |         位或         //11,false才爲

 

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 操作 數組元素個數.

  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,表示不再指向任何對象.




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章