返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++存储方案和动态分配
  • 613
分享到

C++存储方案和动态分配

2024-04-02 19:04:59 613人浏览 泡泡鱼
摘要

目录存储方案和动态分配 初始化 存储方案和动态分配 在之前的文章当中,我们讨论了c++用来为变量分配内存的5种方案,但是这些方案并不适用于使用new运算符分配的内存,这种内存被称为

存储方案和动态分配

在之前的文章当中,我们讨论了c++用来为变量分配内存的5种方案,但是这些方案并不适用于使用new运算符分配的内存,这种内存被称为动态内存。

我们在之前的文章当中也曾介绍过,动态内存由newdelete控制,而不是由作用域和链接性规则控制。所以我们可以在一个函数当中分配动态内存,在另外一个函数中释放。

通常C++编译器当中有三块独立的内存,一块用于静态变量,一块用于自动变量,还有一块用于动态存储。

虽然存储方案的概念不适用于动态内存,但是适用于动态内存的自动和静态指针。C++ Primer当中有这么一个例子,我们在一个函数当中有如下语句:


float * p_fees = new float[20];


很明显,我们通过new创建了一个长度为20的float数组,这块数组的内存将会一直停留在内存当中,直到使用delete语句释放。但当该函数运行结束的时候,p_fees这个指针将会消失。如果希望在其他地方能够使用这个数组,需要将地址通过某种方式返回或者传递。

如果我们将p_fees的链接性声明为外部的,那么我们在其他地方都可以访问到了,如果另外的文件当中需要访问,也同样可以使用关键字extern

初始化

前面讲了使用new申请内存的方法,如果我们想要在分配内存的同时完成变量的初始化,应该怎么办呢?

如果要为内置的标量类型分配空间并初始化,可以在类型名后面加上初始值,并将它用括号括起来:


int *pi = new int(3);
double *pd = new double(99.9);


如果我们要初始化结构体或者是数组,则需要使用大括号的列表初始化,这需要编译器支持C++11,这是C++11中的新特性:


struct P {
    int x, y;
};

P *p = new P{3, 4};
int *arr = new int[4] {2, 3, 4, 5};


在C++11当中也支持对单值变量使用列表初始化:


double *pd = new double(99.99);

到此这篇关于C++存储方案和动态分配的文章就介绍到这了,更多相关C++存储方案和动态分配内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C++存储方案和动态分配

本文链接: https://lsjlt.com/news/161368.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C++存储方案和动态分配
    目录存储方案和动态分配 初始化 存储方案和动态分配 在之前的文章当中,我们讨论了C++用来为变量分配内存的5种方案,但是这些方案并不适用于使用new运算符分配的内存,这种内存被称为...
    99+
    2024-04-02
  • C++中存储方案和动态分配的示例分析
    这篇文章主要介绍了C++中存储方案和动态分配的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。存储方案和动态分配在之前的文章当中,我们讨论了C++用来为变量分配内存的5...
    99+
    2023-06-22
  • C++继承和动态内存分配
    目录1.简介2.派生类不用new3.派生类使用new文章转自微信 公众号:Coder梁(ID:Coder_LT) 1.简介 这里面有一个问题,当我们的基类使用动态内存分配,并且重新定...
    99+
    2024-04-02
  • 【C语言趣味教程】(7) 存储类:auto 关键字 | register 关键字 | 存储期 | 自动存储期 | 动态存储期 | 线程存储期 | 动态分配存储期 | 静态变量
       🔗 《C语言趣味教程》👈 猛戳订阅!!! Ⅰ. 存储类(Storage Class) 0x00 引入:什么是存储类? ❓ 你没有听说过存储类的概念? 存储类 (Storage Class) 在 C 语言标准中用来 规定变...
    99+
    2023-09-01
    c语言 开发语言 原力计划
  • C语言的动态内存分配及动态内存分配函数详解
    目录mallocmalloc的使用:freecalloccalloc的使用:reallocrealloc的使用改进:realloc的另一种用法:常见的动态内存错误对空指针的解引用操作...
    99+
    2024-04-02
  • C++ 动态内存分配详解(new/new[]和delete/delete[])
    一、为什么需要动态内存分配? 在C++程序中,所有内存需求都是在程序执行之前通过定义所需的变量来确定的。 但是可能存在程序的内存需求只能在运行时确定的情况。 例如,当需要的内存取决于...
    99+
    2024-04-02
  • 怎么在C++中动态内存分配
    今天就跟大家聊聊有关怎么在C++中动态内存分配,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。按需分配,根据需要分配内存,不浪费。内存拷贝函数void* memcpy(void* de...
    99+
    2023-06-14
  • 如何在c++中分配动态内存
    今天就跟大家聊聊有关如何在c++中分配动态内存,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。动态申请内存操作符 newnew 类型名T(初始化参数列表)功能:在程...
    99+
    2023-06-06
  • DS8K存储分配空间给主机方案
    环境IBM DS8K + SAN192 + Redhat6.1+Multipath软件分为三大步,先划zone,后划存储,最后在主机端绑定多路径一.划zone为了以后通过tsm备份,将手机POS与DS8700,TS3500都划zone,同时...
    99+
    2023-06-04
  • 带你了解C++的动态内存分配
    目录new与delete运算符动态分配数组动态分配字符串总结new与delete运算符 数组在定义时就规定了其长度,这使得它的内存空间也固定了下来,这称为静态内存分配。 内存申请大了...
    99+
    2024-04-02
  • C语言的动态内存如何分配
    今天小编给大家分享一下C语言的动态内存如何分配的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。动态内存分配的定义首先我们要搞清...
    99+
    2023-07-02
  • AndroidNDK开发(C语言--动态内存分配)
    1.C 内存管理函数 C 语言为内存的分配和管理提供了几个函数。这些函数可以在 <stdlib.h> 头文件中找到。 ...
    99+
    2024-04-02
  • 详解C语言动态内存的分配
    目录C 程序中,不同数据在内存中分配说明内存动态分配的相关函数应用实例动态分配内存的基本原则总结C 程序中,不同数据在内存中分配说明 1)全局变量——内存中的...
    99+
    2024-04-02
  • C语言 动态分配数组案例详解
    目录一维动态数组的创建:二维数组的创建:很多人在编写C语言代码的时候很少使用动态数组,不管什么情况下通通使用静态数组的方法来解决,在当初学习C语言的时候我就是一个典型的例子,但是现在...
    99+
    2024-04-02
  • TensorFlow2.0之后动态分配显存方式
    目录TensorFlow 2.0之后动态分配显存keras和tensorflow动态分配显存总结TensorFlow 2.0之后动态分配显存 import tensorflow as...
    99+
    2022-12-08
    TensorFlow 2.0 动态分配显存 显存动态分配
  • C语言如何实现动态内存分配
    今天小编给大家分享一下C语言如何实现动态内存分配的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。C语言动态内存分配的详解1.为...
    99+
    2023-06-16
  • C语言动态内存分配图文讲解
    目录思维导图1.为什么存在动态内存分配2.动态内存函数的介绍2.1 malloc2.2 free2.3 calloc2.4 realloc3.常见的动态内存错误思维导图 1.为什么...
    99+
    2023-01-17
    C语言动态内存分配 C语言动态内存分配函数
  • C语言动态内存分配怎么使用
    这篇文章主要介绍了C语言动态内存分配怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C语言动态内存分配怎么使用文章都会有所收获,下面我们一起来看看吧。一、动态内存分配的意义C语言中的一切操作都是基于内存的...
    99+
    2023-06-30
  • C语言中的动态内存分配实例分析
    本篇内容主要讲解“C语言中的动态内存分配实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言中的动态内存分配实例分析”吧!什么是动态内存分配我们目前已经知道的内存开辟的方式有:int&n...
    99+
    2023-07-02
  • C语言动态内存的分配最全面分析
    目录为什么有动态内存分布malloc函数的使用free函数的用法calloc的用法realloc的使用方法柔性数组为什么有动态内存分布 大家发现一个问题没有,就是我们之前写代码创建数...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作