C++實(shí)現(xiàn)動(dòng)態(tài)分配const對(duì)象實(shí)例
本文實(shí)例講述了C++實(shí)現(xiàn)動(dòng)態(tài)分配const對(duì)象的方法。分享給大家供大家參考。具體方法分析如下:
一、創(chuàng)建
在C++中,允許動(dòng)態(tài)創(chuàng)建const對(duì)象,格式如下:
const int *p = new const int(128);
與其他常量一樣,動(dòng)態(tài)創(chuàng)建的const對(duì)象必須在創(chuàng)建時(shí)初始化,并且初始化后,其值不能改變。
二、刪除
盡管不能改變const對(duì)象的值,但可以刪除動(dòng)態(tài)創(chuàng)建的const對(duì)象,格式如下:
delete p;
這個(gè)和普通的對(duì)象一樣,可以對(duì)其進(jìn)行刪除操作。
三、應(yīng)用場(chǎng)景舉例
1、加載配置文件
從配置文件讀入的數(shù)據(jù)可以用來(lái)初始化const對(duì)象,供后續(xù)程序使用。
偽代碼如下:
int num; ... //讀取配置文件,并將配置數(shù)據(jù)填充到num const int *pNum = new const int(num); // 用num初始化const對(duì)象 cout<<*pNum<<endl; //使用const對(duì)象 ... delete pNum;
2、創(chuàng)建數(shù)組
當(dāng)數(shù)組的大小依賴于某些動(dòng)態(tài)因素時(shí)(比如配置文件等),可以考慮用const對(duì)象。
偽代碼如下:
int num; ... //獲取num的值 const int *pNum = new const int(num); // 用num初始化const對(duì)象 unsigned char _data[*pNum]; //創(chuàng)建數(shù)組 ... delete pNum
示例代碼如下:
#include <iostream>
using namespace std;
int main()
{
int num;
cin>>num;
const int *pNum = new const int(num);
int arr[*pNum];
for(int i=0;i<*pNum;++i) arr[i] = i;
for(int i=0;i<*pNum;++i) cout<<arr[i]<<" ";
cout<<endl;
return 0;
}
當(dāng)然還有很多其它場(chǎng)景,這里暫時(shí)記錄了這些,方便以后查閱。
希望本文所述對(duì)大家的C++程序設(shè)計(jì)有所幫助。
相關(guān)文章
C++中的explicit關(guān)鍵字實(shí)例淺析
在C++程序中很少有人去使用explicit關(guān)鍵字,不可否認(rèn),在平時(shí)的實(shí)踐中確實(shí)很少能用的上,再說(shuō)C++的功能強(qiáng)大,往往一個(gè)問(wèn)題可以利用好幾種C++特性去解決。接下來(lái)給大家介紹 C++中的explicit關(guān)鍵字,需要的朋友可以參考下2017-03-03
C語(yǔ)言結(jié)構(gòu)體內(nèi)存的對(duì)齊知識(shí)詳解
這篇文章主要介紹了C語(yǔ)言結(jié)構(gòu)體內(nèi)存的對(duì)齊的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
C++動(dòng)態(tài)內(nèi)存分配超詳細(xì)講解
給數(shù)組分配多大的空間?你是否和初學(xué)C時(shí)的我一樣,有過(guò)這樣的疑問(wèn)。這一期就來(lái)聊一聊動(dòng)態(tài)內(nèi)存的分配,讀完這篇文章,你可能對(duì)內(nèi)存的分配有一個(gè)更好的理解2022-08-08
關(guān)于STL中vector容器的一些總結(jié)
vector作為STL提供的標(biāo)準(zhǔn)容器之一,是經(jīng)常要使用的,有很重要的地位,并且使用起來(lái)也是灰常方便。vector又被稱為向量,vector可以形象的描述為長(zhǎng)度可以動(dòng)態(tài)改變的數(shù)組,功能和數(shù)組較為相似2013-09-09
C語(yǔ)言中pthread_create函數(shù)實(shí)現(xiàn)向線程函數(shù)傳遞參數(shù)
本文主要介紹了C語(yǔ)言中pthread_create函數(shù)實(shí)現(xiàn)向線程函數(shù)傳遞參數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
Qt圖形圖像開(kāi)發(fā)之曲線圖表模塊QChart庫(kù)讀取/設(shè)置X軸的顯示區(qū)間
這篇文章主要介紹了Qt圖形圖像開(kāi)發(fā)之曲線圖表模塊QChart庫(kù)讀取/設(shè)置X軸的顯示區(qū)間,需要的朋友可以參考下2020-03-03

