首页 / 知识
C ++ STL问题:分配器
2023-04-13 13:18:00

C++ STL question: allocators我对C ++ STL有一个(可能很愚蠢的)问题。 当我制作一个容器(向量,集合,映射等)时,它是分配在堆栈上还是堆上? 如果我进行设置并放置500万个字符串,我是否需要担心堆栈溢出? 默认情况下,STL类从堆中分配其内部缓冲区,尽管这些类还允许自定义分配器,这些分配器允许用户指定要从中分配的备用位置-例如 共享内存池。 STL容器的默认分配器使用new和delete运算符,因此无论所使用的类型是哪种路由。 (通常,它来自堆,除非您执行某些操作来覆盖它。) 分配500万个字符串不会导致堆栈溢出。 即使您创建了一个基于堆栈的分配器,它甚至可能在您插入一个字符串之前就溢出了。 容器本身分配在您决定的位置(可以是堆栈,堆,对象的成员等),但是默认情况下,如其他描述的那样,容器使用的内存是在免费存储区中获取的(通过new和delete管理) 这与堆(通过malloc / free管理)不同。 不要将两者混在一起! |
最新内容
相关内容
linux端口映射命令?
linux端口映射命令?,工具,设备,电脑,系统,服务,网站,不了,名字,通信,环境,在linux下怎样关闭端口映射1、使用防火墙关闭端口,可以使用iptableslinux空间分配命令?
linux空间分配命令?,系统,数据,情况,分区,图片,地址,位置,软件,管理,信息,linux怎么分配系统空间1、系统分区 系统分区是指存放操作系统和启动域名映射命令linux?
域名映射命令linux?,地址,网络,信息,系统,服务,命令,电脑,管理,网址,数字,如何将虚拟机中centos版本的linux的ip地址与域名相互解析?1、\x0dlinux保留堆栈命令?
linux保留堆栈命令?,地址,工作,系统,信息,管理,命令,目录,代码,名称,连续,linux系统常用操作命令linux常用命令有pwd命令、cd命令、ls命令、ca分配磁盘命令linux?
分配磁盘命令linux?,管理,号码,系统,信息,磁盘,配额,命令,技术,单位,工作,linux磁盘分区的详细步骤1、对于每一个硬盘(IDE 或 SCSI)设备,Linuxlinux命令分配文件?
linux命令分配文件?,管理,系统,命令,文件,基础,工具,标准,名称,情况,分区,linux目录命令,文件命令,权限设置命令1、CHMOD:文件/目录权限设置命python创建一个集合?
python创建一个集合?,异常,代码,括号,元素,函数,方法,两个,整数,操作,字符串,在Python中,集合是一种无序且不重复的数据类型,可以用于存储一组元Python内存分配
Python内存分配,代码,对象,变量,情况,培训,技术,名字,赋值,声明,别名,一、前言大多数编译型语言,变量在使用前必须先声明,其中C语言更加苛刻:变Python集合和时间复杂度
Python集合和时间复杂度,项目,时间,数据,数字,照片,情况,通用,培训,平均,表示,在本文的这一部分中,我将记录CPython中的常见集合,然后概述它们Python集合类型
Python集合类型,检测,位置,培训,元素,对象,实例,成员,操作,子集,类型,python目前有两种内置集合类型,set和frozenset。Ⅰ、两者区别set是可变python 集合操作方法详解
python 集合操作方法详解,数字,第一,数据,培训,冰冻,结果,方式,元素,函数,操作,集合set集合用于包含一组无序的对象。与列表和元组不同,集合是python中如何进行集合交集运算?
python中如何进行集合交集运算?,培训,方法,问题,本文,以上,数学,部分,更多,内容,在我们日常生活中,我们可以通过求集合的交集,得出重复的部分,