欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

講解C++編程中Address-of運(yùn)算符&的作用及用法

 更新時(shí)間:2016年01月14日 16:46:36   投稿:goldensun  
這篇文章主要介紹了C++編程中Address-of運(yùn)算符&的作用及用法,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

語(yǔ)法

& cast-expression

備注
一元 address-of 運(yùn)算符 (&) 采用其操作數(shù)的地址。address-of 運(yùn)算符的操作數(shù)可以是函數(shù)指示符,也可以是指定不是位域且不使用 register 儲(chǔ)存類說(shuō)明符聲明的對(duì)象的左值。
address-of 運(yùn)算符僅適用于具有基本、結(jié)構(gòu)、類或在文件范圍級(jí)別聲明的聯(lián)合類型的變量,或僅適用于下標(biāo)數(shù)組引用。在這些表達(dá)式中,可在 address-of 表達(dá)式中添加或提取不包括 address-of 運(yùn)算符的常數(shù)表達(dá)式。
當(dāng)應(yīng)用于函數(shù)或左值時(shí),該表達(dá)式的結(jié)果將是派生自操作數(shù)類型(右值)的指針類型。例如,如果操作數(shù)的類型為 char,則表達(dá)式的結(jié)果為指向 char 的類型指針。address-of 運(yùn)算符(應(yīng)用于 const 或 volatile 對(duì)象)的計(jì)算結(jié)果為 const type * 或 volatile type *,其中 type 是原始對(duì)象的類型。
在將 address-of 運(yùn)算符應(yīng)用于限定名時(shí),結(jié)果將取決于 qualified-name 是否指定靜態(tài)成員。如果是這樣,則結(jié)果為指向成員聲明中指定的類型的指針。如果該成員不是靜態(tài)的,則結(jié)果為指向由 qualified-class-name 指示的類的成員 name 的指針。
以下代碼段說(shuō)明了結(jié)果的不同之處,取決于該成員是否為靜態(tài)的:

// expre_Address_Of_Operator.cpp
// C2440 expected
class PTM {
public:
      int  iValue;
  static float fValue;
};

int main() {
  int  PTM::*piValue = &PTM::iValue; // OK: non-static
  float PTM::*pfValue = &PTM::fValue; // C2440 error: static
  float *spfValue   = &PTM::fValue; // OK
}

在此示例中,由于 fValue 是靜態(tài)成員,因此表達(dá)式 &PTM::fValue 產(chǎn)生類型 float * 而不是類型 float PTM::*。
僅當(dāng)明確要引用的函數(shù)的版本時(shí),才能采用重載函數(shù)的地址。有關(guān)如何獲取特定重載函數(shù)的地址的信息,請(qǐng)參閱重載函數(shù)的地址。
通過(guò)將 address-of 運(yùn)算符應(yīng)用于引用類型,可獲得與將該運(yùn)算符應(yīng)用于引用綁定到的對(duì)象所獲得的結(jié)果相同的結(jié)果。例如:

// expre_Address_Of_Operator2.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main() {
  double d;    // Define an object of type double.
  double& rd = d; // Define a reference to the object.

  // Obtain and compare their addresses
  if( &d == &rd )
   cout << "&d equals &rd" << endl;
}

Output

&d equals &rd

以下示例使用 address-of 運(yùn)算符將指針參數(shù)傳遞給函數(shù):

// expre_Address_Of_Operator3.cpp
// compile with: /EHsc
// Demonstrate address-of operator &

#include <iostream>
using namespace std;

// Function argument is pointer to type int
int square( int *n ) {
  return (*n) * (*n);
}

int main() {
  int mynum = 5;
  cout << square( &mynum ) << endl;  // pass address of int
}

Output

25

相關(guān)文章

  • C++淺析構(gòu)造函數(shù)的特性

    C++淺析構(gòu)造函數(shù)的特性

    構(gòu)造函數(shù)主要作用在于創(chuàng)建對(duì)象時(shí)為對(duì)象的成員屬性賦值,構(gòu)造函數(shù)由編譯器自動(dòng)調(diào)用,無(wú)須手動(dòng)調(diào)用;析構(gòu)函數(shù)主要作用在于對(duì)象銷毀前系統(tǒng)自動(dòng)調(diào)用,執(zhí)行一 些清理工作
    2022-07-07
  • 基于matlab MFCC+GMM的安全事件聲學(xué)檢測(cè)系統(tǒng)

    基于matlab MFCC+GMM的安全事件聲學(xué)檢測(cè)系統(tǒng)

    這篇文章主要為大家介紹了基于matlab MFCC+GMM的安全事件聲學(xué)檢測(cè)系統(tǒng)實(shí)現(xiàn)及源碼示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-02-02
  • 淺析C++調(diào)用Java的Jar包(帶參數(shù))問(wèn)題

    淺析C++調(diào)用Java的Jar包(帶參數(shù))問(wèn)題

    這篇文章主要介紹了C++調(diào)用Java的Jar包(帶參數(shù))問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-11-11
  • C語(yǔ)言實(shí)現(xiàn)飛機(jī)游戲(1)

    C語(yǔ)言實(shí)現(xiàn)飛機(jī)游戲(1)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)飛機(jī)游戲的第一部分,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Qt中JSON操作的具體使用

    Qt中JSON操作的具體使用

    本文主要介紹了Qt中JSON操作的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • C++ 中CListCtrl的每個(gè)項(xiàng)都顯示不同的提示信息

    C++ 中CListCtrl的每個(gè)項(xiàng)都顯示不同的提示信息

    這篇文章主要介紹了C++ 中CListCtrl的每個(gè)項(xiàng)都顯示不同的提示信息的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • C語(yǔ)言菜鳥基礎(chǔ)教程之Hello World

    C語(yǔ)言菜鳥基礎(chǔ)教程之Hello World

    C語(yǔ)言是一門通用計(jì)算機(jī)編程語(yǔ)言,應(yīng)用廣泛。C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。
    2017-10-10
  • 分享一下8年C++面向?qū)ο笤O(shè)計(jì)的經(jīng)驗(yàn)體會(huì)

    分享一下8年C++面向?qū)ο笤O(shè)計(jì)的經(jīng)驗(yàn)體會(huì)

    關(guān)于C++程序設(shè)計(jì)的書藉非常多,本章不講C++的語(yǔ)法,只講一些小小的編程道理。如果我能早幾年明白這些小道理,就可以大大改善數(shù)十萬(wàn)行程序的質(zhì)量了
    2017-07-07
  • 關(guān)于C/C++中static關(guān)鍵字的作用總結(jié)

    關(guān)于C/C++中static關(guān)鍵字的作用總結(jié)

    以下是對(duì)C/C++中static關(guān)鍵字的作用進(jìn)行了總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-09-09
  • C++基于OpenCV實(shí)現(xiàn)手勢(shì)識(shí)別的源碼

    C++基于OpenCV實(shí)現(xiàn)手勢(shì)識(shí)別的源碼

    這篇文章主要介紹了C++基于OpenCV手勢(shì)識(shí)別的實(shí)現(xiàn)源碼,這里用到背景減法模型知識(shí),具體實(shí)例代碼跟隨小編一起看看吧
    2021-09-09

最新評(píng)論