服务器之家

服务器之家 > 正文

C++实现动态分配const对象实例

时间:2021-02-05 14:28     来源/作者:C++教程网

本文实例讲述了C++实现动态分配const对象的方法。分享给大家供大家参考。具体方法分析如下:

一、创建

在C++中,允许动态创建const对象,格式如下:

?
1
const int *p = new const int(128);

与其他常量一样,动态创建的const对象必须在创建时初始化,并且初始化后,其值不能改变。

二、删除

尽管不能改变const对象的值,但可以删除动态创建的const对象,格式如下:

?
1
delete p;

这个和普通的对象一样,可以对其进行删除操作。

三、应用场景举例

1、加载配置文件

从配置文件读入的数据可以用来初始化const对象,供后续程序使用。

伪代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
int num;
 
... //读取配置文件,并将配置数据填充到num
 
const int *pNum = new const int(num); // 用num初始化const对象
 
cout<<*pNum<<endl; //使用const对象
 
...
 
delete pNum;

2、创建数组

当数组的大小依赖于某些动态因素时(比如配置文件等),可以考虑用const对象。

伪代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
int num;
 
... //获取num的值
 
const int *pNum = new const int(num); // 用num初始化const对象
 
unsigned char _data[*pNum]; //创建数组
 
...
 
delete pNum

示例代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#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;
}

当然还有很多其它场景,这里暂时记录了这些,方便以后查阅。

希望本文所述对大家的C++程序设计有所帮助。

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部