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

詳解C/C++中new?A與new?A()的區(qū)別

 更新時(shí)間:2023年07月20日 08:34:54   作者:吃著火鍋x唱著歌  
這篇文章主要通過一些簡單的示例為大家詳細(xì)介紹一下C/C++中new?A與new?A()的區(qū)別,文中的示例代碼簡潔易懂,快跟隨小編一起學(xué)習(xí)起來吧

在C++中,POD是“Plain Old Data”的縮寫,即“普通舊數(shù)據(jù)”。POD data是指一種特殊類型的數(shù)據(jù)結(jié)構(gòu),它們具有簡單的內(nèi)存布局,沒有構(gòu)造函數(shù)、虛函數(shù)、私有/保護(hù)非靜態(tài)數(shù)據(jù)成員,也沒有虛繼承等特性。這些數(shù)據(jù)結(jié)構(gòu)可以直接通過內(nèi)存拷貝進(jìn)行復(fù)制,而無需進(jìn)行特殊的初始化或析構(gòu)。

對于POD類型,new A是默認(rèn)初始化的,而new A()是值初始化的:

#include <iostream>
using namespace std;
int main() {
    int *i1 = new int;
    int *i2 = new int();
    cout << *i1 << endl;
    cout << *i2 << endl;
}

運(yùn)行以上程序:

對于非POD的class類型,有兩種情況,第一種情況是該類型沒有用戶定義的構(gòu)造函數(shù),此時(shí)new A會(huì)默認(rèn)初始化類中成員,new A()會(huì)值初始化類中成員:

#include <iostream>
using namespace std;
class A {
public:
    int i;
    string s;
};
int main() {
    A* obj1 = new A;   
    A* obj2 = new A(); 
    cout << obj1->i << " " << obj1->s << "end" << endl;
    cout << obj2->i << " " << obj2->s << "end" << endl;
}

運(yùn)行以上程序:

如果該類型有用戶自定義的構(gòu)造函數(shù),則new A和new A()都會(huì)默認(rèn)初始化類中成員:

#include <iostream>
using namespace std;
class A {
public:
    A() {
        cout << "in A's constructor" << endl;
    }
    int i;
    string s;
};
int main() {
    A* obj1 = new A;   
    A* obj2 = new A(); 
    cout << obj1->i << " " << obj1->s << "end" << endl;
    cout << obj2->i << " " << obj2->s << "end" << endl;
}

運(yùn)行以上程序:

到此這篇關(guān)于詳解C/C++中new A與new A()的區(qū)別的文章就介紹到這了,更多相關(guān)C++ new與new()區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實(shí)踐數(shù)組類運(yùn)算的實(shí)現(xiàn)參考

    C++實(shí)踐數(shù)組類運(yùn)算的實(shí)現(xiàn)參考

    今天小編就為大家分享一篇關(guān)于C++實(shí)踐數(shù)組類運(yùn)算的實(shí)現(xiàn)參考,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • C語言實(shí)現(xiàn)銷售管理系統(tǒng)設(shè)計(jì)

    C語言實(shí)現(xiàn)銷售管理系統(tǒng)設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)銷售管理系統(tǒng)設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++概念重載、覆蓋、隱藏的使用說明

    C++概念重載、覆蓋、隱藏的使用說明

    本篇文章介紹了,在C++中概念重載、覆蓋、隱藏的使用分析說明。需要的朋友參考下
    2013-05-05
  • Visual Studio添加第三方庫的實(shí)現(xiàn)步驟

    Visual Studio添加第三方庫的實(shí)現(xiàn)步驟

    使用Visual Studio編寫C語言程序能夠提供全面而強(qiáng)大的開發(fā)環(huán)境,本文主要介紹了Visual Studio添加第三方庫的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • C++ windows LOG4plus的使用小結(jié)

    C++ windows LOG4plus的使用小結(jié)

    這篇文章主要介紹了C++ windows LOG4plus的使用小結(jié),本文通過圖文示例代碼相結(jié)合給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • C語言中判斷int,long型等變量是否賦值的方法詳解

    C語言中判斷int,long型等變量是否賦值的方法詳解

    聲明了int ,long型等局部變量,在利用一些方法給這些變量賦值之后,想判斷這些變量是不是真的被賦初值了,怎么辦
    2013-07-07
  • C++生成隨機(jī)浮點(diǎn)數(shù)的示例代碼

    C++生成隨機(jī)浮點(diǎn)數(shù)的示例代碼

    在C++11之前,我們通常采用rand函數(shù)來生成隨機(jī)數(shù),但rand函數(shù)對一些情況顯得難以處理。本文將介紹如何利用C++生成隨機(jī)浮點(diǎn)數(shù),需要的可以參考一下
    2022-04-04
  • C++表達(dá)式new與delete知識詳解

    C++表達(dá)式new與delete知識詳解

    這篇文章主要為大家詳細(xì)介紹了C++表達(dá)式new與delete知識點(diǎn),學(xué)習(xí)如何動(dòng)態(tài)創(chuàng)建對象,動(dòng)態(tài)創(chuàng)建的對象與一般對象的區(qū)別,動(dòng)態(tài)創(chuàng)建的對象的初始化以及釋放動(dòng)態(tài)分配的內(nèi)存等知識點(diǎn),感興趣的朋友可以參考一下
    2016-05-05
  • 基于C中含有if的宏定義詳解

    基于C中含有if的宏定義詳解

    本篇文章是對C中含有if的宏定義進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言if選擇結(jié)構(gòu)語句詳解

    C語言if選擇結(jié)構(gòu)語句詳解

    大家好,本篇文章主要講的是C語言if選擇結(jié)構(gòu)語句詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12

最新評論