C++實現(xiàn)動態(tài)分配const對象實例
本文實例講述了C++實現(xiàn)動態(tài)分配const對象的方法。分享給大家供大家參考。具體方法分析如下:
一、創(chuàng)建
在C++中,允許動態(tài)創(chuàng)建const對象,格式如下:
const int *p = new const int(128);
與其他常量一樣,動態(tài)創(chuàng)建的const對象必須在創(chuàng)建時初始化,并且初始化后,其值不能改變。
二、刪除
盡管不能改變const對象的值,但可以刪除動態(tài)創(chuàng)建的const對象,格式如下:
delete p;
這個和普通的對象一樣,可以對其進行刪除操作。
三、應(yīng)用場景舉例
1、加載配置文件
從配置文件讀入的數(shù)據(jù)可以用來初始化const對象,供后續(xù)程序使用。
偽代碼如下:
int num; ... //讀取配置文件,并將配置數(shù)據(jù)填充到num const int *pNum = new const int(num); // 用num初始化const對象 cout<<*pNum<<endl; //使用const對象 ... delete pNum;
2、創(chuàng)建數(shù)組
當(dāng)數(shù)組的大小依賴于某些動態(tài)因素時(比如配置文件等),可以考慮用const對象。
偽代碼如下:
int num; ... //獲取num的值 const int *pNum = new const int(num); // 用num初始化const對象 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)然還有很多其它場景,這里暫時記錄了這些,方便以后查閱。
希望本文所述對大家的C++程序設(shè)計有所幫助。
相關(guān)文章
C++ 隨機數(shù)字以及隨機數(shù)字加字母生成的案例
這篇文章主要介紹了C++ 隨機數(shù)字以及隨機數(shù)字加字母生成的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12使用Visual Studio 2010/2013編譯V8引擎步驟分享
這篇文章主要介紹了使用Visual Studio 2013編譯V8引擎步驟分享,需要的朋友可以參考下2015-08-08應(yīng)用程序操作NorFlash示例代碼分享(norflash接口使用方法)
相對于操作NandFlash,操作NorFlash相對簡單,因為基本不需要考慮壞塊,NorFlash也沒有OOB區(qū)域,也跟ECC沒有關(guān)系。讀寫擦除相對容易,下面看個例子吧2013-12-12C語言實現(xiàn)帶頭結(jié)點的鏈表的創(chuàng)建、查找、插入、刪除操作
這篇文章主要介紹了C語言實現(xiàn)帶頭結(jié)點的鏈表的創(chuàng)建、查找、插入、刪除操作方法,對于了解數(shù)據(jù)結(jié)構(gòu)中鏈表的各項操作有很好的借鑒價值,需要的朋友可以參考下2014-09-09