雷火电竞-中国电竞赛事及体育赛事平台

歡迎來(lái)到入門(mén)教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

C++實(shí)現(xiàn)動(dòng)態(tài)分配const對(duì)象實(shí)例

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊:

本文實(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ù)組的大小依賴(lài)于某些動(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ì)有所幫助。

上一篇:C++通過(guò)TerminateProess結(jié)束進(jìn)程實(shí)例

欄    目:C語(yǔ)言

下一篇:C++模板之特化與偏特化詳解

本文標(biāo)題:C++實(shí)現(xiàn)動(dòng)態(tài)分配const對(duì)象實(shí)例

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/3279.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有