最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++編程中刪除運算符與相等運算符的使用解析

 更新時間:2016年01月14日 15:30:38   投稿:goldensun  
這篇文章主要介紹了C++編程中刪除運算符與相等運算符的使用解析,delete和==以及!=運算符的使用是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下

delete刪除運算符
釋放內(nèi)存塊。
語法

[::] delete cast-expression
[::] delete [ ] cast-expression

備注
cast-expression 參數(shù)必須是指向以前分配給使用 new 運算符創(chuàng)建的對象的內(nèi)存塊的指針。 delete 運算符的結(jié)果類型為 void,因此它不返回值。例如:

CDialog* MyDialog = new CDialog;
// use MyDialog
delete MyDialog;

對指向不使用 new 分配的指針使用 delete 將產(chǎn)生不可預(yù)知的結(jié)果。但是,可以對值為 0 的指針使用 delete。此設(shè)置意味著,當(dāng) new 失敗并返回 0 時,刪除已失敗 new 操作的結(jié)果不會造成損害。
new 和 delete 運算符還可用于內(nèi)置類型(包括數(shù)組)。如果 pointer 指的是某一數(shù)組,請在 pointer 前放置空括號:
int* set = new int[100];
//use set[]
delete 運算符delete [] set;
對對象使用 delete 運算符將釋放其內(nèi)存。在刪除對象后取消引用指針的程序可能會產(chǎn)生不可預(yù)知的結(jié)果或崩潰。
將 delete 用于釋放 C++ 類對象的內(nèi)存時,將在釋放該對象的內(nèi)存之前調(diào)用該對象的析構(gòu)函數(shù)(如果該對象具有析構(gòu)函數(shù))。
如果 delete 運算符的操作數(shù)是可修改的左值,則在刪除該對象后未定義其值。
使用 delete
有兩個語法變體:一個針對單一對象,另一個針對對象數(shù)組。以下代碼片段演示了它們之間的差異:

// expre_Using_delete.cpp
struct UDType 
{
};

int main()
{
  // Allocate a user-defined object, UDObject, and an object
  // of type double on the free store using the
  // new operator.
  UDType *UDObject = new UDType;
  double *dObject = new double;
  // Delete the two objects.
  delete UDObject;
  delete dObject; 
  // Allocate an array of user-defined objects on the
  // free store using the new operator.
  UDType (*UDArr)[7] = new UDType[5][7];
  // Use the array syntax to delete the array of objects.
  delete [] UDArr;
}

以下兩種情況會生成未定義的結(jié)果:在對象中使用 delete 的數(shù)組形式 (delete [ ]),并在數(shù)組中使用 delete 的非數(shù)組形式。

delete 的工作方式
將調(diào)用函數(shù)運算符 delete。
對于不是類類型(class、struct 或 union)的對象,將調(diào)用全局 delete 運算符。對于類類型的對象,如果刪除表達(dá)式以一元范圍解析運算符 (::) 開始,則會在全局范圍中解析釋放函數(shù)的名稱。否則,delete 運算符將在釋放內(nèi)存之前為對象調(diào)用析構(gòu)函數(shù)(如果指針不為 null)??蔀槊總€類定義 delete 運算符;如果給定類不存在這種定義,則會調(diào)用全局 delete 運算符。如果刪除表達(dá)式用于釋放其靜態(tài)對象具有虛擬析構(gòu)函數(shù)的類對象,則將通過對象的動態(tài)類型的虛擬析構(gòu)函數(shù)解析釋放函數(shù)。


相等運算符:== 和 !=

語法

   expression == expression
expression != expression

備注
二元相等運算符將嚴(yán)格比較其操作數(shù)的相等性或不相等性。
相等運算符(等于 (==) 而不等于 (!=))的優(yōu)先級低于關(guān)系運算符的優(yōu)先級,但其行為類似。這些運算符的結(jié)果類型為 bool。
如果這兩個操作數(shù)具有相同的值,則相等運算符 (==) 返回 true (1);否則返回 false (0)。如果操作數(shù)不具有相同的值,則不相等運算符 (!=) 返回 true;否則返回 false。
!= 的運算符關(guān)鍵字
not_eq 運算符是 != 的文本等效項。訪問程序中的 not_eq 運算符的方式有兩種:包括頭文件 iso646.h,或使用 /Za(禁用語言擴展)編譯器選項進(jìn)行編譯。

// expre_Equality_Operators.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;

int main() {
  cout << boolalpha
     << "The true expression 3 != 2 yields: "
     << (3 != 2) << endl
     << "The false expression 20 == 10 yields: "
     << (20 == 10) << endl;
}

相等運算符可比較指向同一類型的成員的指針。

相關(guān)文章

  • 最大子矩陣問題實例解析

    最大子矩陣問題實例解析

    這篇文章主要介紹了最大子矩陣問題實例解析,分別列舉了Java和C語言的相關(guān)實現(xiàn),需要的朋友可以參考下
    2015-08-08
  • 用C++實現(xiàn)DBSCAN聚類算法

    用C++實現(xiàn)DBSCAN聚類算法

    本篇文章是對使用C++實現(xiàn)DBSCAN聚類算法的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++順序表實現(xiàn)圖書管理系統(tǒng)

    C++順序表實現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++順序表實現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C語言學(xué)生成績管理系統(tǒng)設(shè)計

    C語言學(xué)生成績管理系統(tǒng)設(shè)計

    這篇文章主要為大家詳細(xì)介紹了C語言學(xué)生成績管理系統(tǒng)設(shè)計,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++?點(.)和箭頭(->)運算符用法小結(jié)

    C++?點(.)和箭頭(->)運算符用法小結(jié)

    在C++中,點運算符(.)用于訪問類的成員變量和成員函數(shù),而箭頭運算符(->)用于通過指針訪問類的成員變量和成員函數(shù),本文就來詳細(xì)的介紹一下如何使用,感興趣的可以了解一下
    2024-01-01
  • C語言中回調(diào)函數(shù)的含義與使用場景詳解(2)

    C語言中回調(diào)函數(shù)的含義與使用場景詳解(2)

    這篇文章主要為大家詳細(xì)介紹了C語言中回調(diào)函數(shù)的含義與使用場景,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 北郵計算機考研復(fù)試題的C語言解答精選

    北郵計算機考研復(fù)試題的C語言解答精選

    這篇文章主要介紹了北郵計算機考研復(fù)試題目的C語言解答精選,選自2012年的一些基礎(chǔ)的上機題目,需要的朋友可以參考下
    2015-08-08
  • C語言結(jié)構(gòu)體的一些理解

    C語言結(jié)構(gòu)體的一些理解

    這篇文章主要給大家介紹了關(guān)于C語言結(jié)構(gòu)體的一些理解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Qt學(xué)習(xí)之QListWidget控件的使用教程詳解

    Qt學(xué)習(xí)之QListWidget控件的使用教程詳解

    這篇文章主要為大家詳細(xì)介紹了Qt中QListWidget控件的使用教程,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Qt有一定的幫助,需要的可以參考一下
    2022-12-12
  • C++中vector的用法實例解析

    C++中vector的用法實例解析

    這篇文章主要介紹了C++中vector的用法,詳細(xì)描述了vector的各種常見的用法及注意事項,需要的朋友可以參考下
    2014-08-08

最新評論

江城| 长海县| 乃东县| 库尔勒市| 中方县| 浮山县| 朝阳县| 法库县| 托克逊县| 井陉县| 肇州县| 京山县| 临武县| 安新县| 惠东县| 巩留县| 青铜峡市| 宜章县| 荃湾区| 教育| 新泰市| 吉林省| 兴宁市| 白河县| 惠安县| 阳曲县| 巫山县| 梁河县| 长汀县| 太康县| 南宁市| 玛纳斯县| 平乐县| 开远市| 邹城市| 姜堰市| 西充县| 江川县| 张家口市| 多伦县| 岳阳县|