程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 再學C++ Primer(5)-表達式

再學C++ Primer(5)-表達式

編輯:C++入門知識

在求模或取余中如果有一個操作數是負數,這兩種操作的結果取決於機器。


若僅靠左操作數的值無法確定該邏輯表達式的結果,才會求解其右操作數的值-短路求值。


關系操作符具有左結合性,如if(i<j<k),即將k與整數1或0做比較。


移位操作的右操作數不可以是負數,而且必須是嚴格小於左操作數位數的值。


bitset的用法:
 作用:方便地管理一系列的bit位而不用程序員自己來寫代碼。
初始化方法:
bitset<N>varm (M)
其中varm為變量名。
N表示該類型在內存中占的位數,是二進制。
M表示變量varm的初始值www.2cto.com
實例:
#include <iostream>
#include <bitset>
using namespace std;
int main()
{
    bitset<3> bs(7);
cout<<"bs[0] is "<<bs[0]<<endl;
    cout<<"bs[1] is "<<bs[1]<<endl;
    cout<<"bs[2] is "<<bs[2]<<endl;
    return 0;
}
 說明:聲明一個3位bitset型變量,初始化為7,二進制碼為111,輸出為1 1 1.
好處:更直接更易閱讀和書寫,正確使用的可能性更高,適合低級直接位操作。


條件操作符優先級相當低,使用時應當注意使用圓括號。


刪除指針後,改指針變成懸垂指針,往往導致錯誤,應立即將指針置為0,這樣就非常清楚地表明指針不再指向任何對象。


內存洩漏的一個原因:刪除指向動態分配內存的指針失敗,因為無法將該塊內存返回給自由存儲區。


const動態對象也可以使用delete來刪除。


發生隱式類型轉換的情況(可能會發生精度損失)
1)在混合類型的表達式中,其操作數被轉換成相同的類型;
2)用作條件的表達式被轉換為bool類型;
3)用一表達式初始化某個變量,或將一表達式賦值給某個變量,則該表達式被轉換為該變量的類型。


算數轉換:在執行算數操作之前,將操作符的操作數轉換為同一類型,並使表達式也具有相同的類型。


強烈建議程序員避免使用強制類型轉換。
 

摘自  左腦設計,右腦編程 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved