zoukankan      html  css  js  c++  java
  • 动态分配const对象(C++)

    创建

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

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

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

    删除

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

    delete p;

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

    应用场景举例

    1、加载配置文件

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

    伪代码如下:

    int num;

    ... //读取配置文件,并将配置数据填充到num

    const int *pNum = new const int(num); // num初始化const对象

    cout<<*pNum<<endl; //使用const对象

    ...

    delete pNum;

    2、创建数组

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

    伪代码如下:

    int num;

    ... //获取num的值

    const int *pNum = new const int(num); // num初始化const对象

    unsigned char _data[*pNum]; //创建数组

    ...

    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;
    }

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

  • E-Mail : Mike_Zhang@live.com
  • 转载请注明出处,谢谢!
查看全文
  • 相关阅读:
    尚硅谷前端2020Web前端学习记录
    阿里网盘阿里云网盘内测资格获取,阿里网盘开通
    冰眼冷链物流监控平台-2020微服务项目实战
    探花交友智能推荐社交项目-2020Java大数据实战
    互联网Java工程师面试突击三季
    恋上数据结构与算法(一、二、三季)
    布客&#183;ApacheCN 编程/后端/大数据/人工智能学习资源 2020.9
    NumPy 基础知识·翻译完成
    NumPy 初学者指南中文第三版·翻译完成
    NumPy 秘籍中文第二版·翻译完成
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/creatConstObject20121022.html
  • Copyright © 2011-2022 走看看