程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> More Effective C++ 學習筆記_ pointer && referenc

More Effective C++ 學習筆記_ pointer && referenc

編輯:C++入門知識

這部分是More Effective C++條款1 和條款2的內容,做個筆記

----------------------------------------------------------------------------------------

 

1. pointer && reference

    如果有一個變量,需要(代表)指向一個對象,但是,則最好

    如果一個變量,最好使

    因此

* pc = & rc = *pc;

    這種代碼不能出現。

 

    對於 pointer 和 reference 其中 pointer 可以為 null 並且可以重新賦值,並指向另一個對象,然而 reference 卻總是指向它最初的對象,不能重新賦值。

  s1(  s2( 
 & rs = s1;          
 * ps = &s1;         
 rs = s2;                  
 ps = &s2;                 

 

2. C++轉型操作符

    C++ 中轉型操作符有4個 static_cast, const_cast, dynamic_cast 和 reinterpret_cast

    static_cast 主要用於普通類型轉換,但是不能用於移除常量性或變易性操作

    const_cast 主要用於改變表達式的常量性,通過它可以去除變量的 const 屬性,除此之外的其它操作則不能使用

    dynamic_cast 主要用來執行繼承體系中 “安全的向下轉型或跨系轉型動作”。也就是說,通過它可以將指向基類的指針或者引用轉換為指向子類的指針或者引用。如果轉換失敗,則會返回空指針(當轉換指針時)或一個exception(當轉換引用時)。

    reinterpret_cast 主要用於轉換函數指針的類型。

   

 

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