c++11-有关allacator类和动态分配数组。

问题描述

有关allacator类和动态分配数组。

allacator把内存分配和对象构造分开的意义是什么?它的内存都已经分配了,不创建对象节省的是什么?我在《c++ primer》上看到,觉得很疑惑。

解决方案

对应c++来说,分两步完成,第一步是分配空间,第二步才是构造对象,所以allocator就是这样来处理的,主要是cpp中有类概念,它不是简单的分配空间就够了,第二步需要调用构造函数,完成各种复杂的操作。

解决方案二:

c++ primer应该只是为了说明new和alloc的区别吧。等等我翻一下书先

时间: 2024-09-17 06:38:58

c++11-有关allacator类和动态分配数组。的相关文章

一个ArrayList里是否可以添加不同的类,一个数组里是否可以添加不同类

问题描述 一个ArrayList里是否可以添加不同的类,一个数组里是否可以添加不同类 解决方案 package com.zyn.iteye;import java.util.ArrayList;import java.util.List;public class ArrayListTest {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubList<Obje

matrix-C++类中包含数组,如何重载运算符,第一次进入,还没有c币,求大神帮忙了,感激不尽

问题描述 C++类中包含数组,如何重载运算符,第一次进入,还没有c币,求大神帮忙了,感激不尽 这是头文件 #include #ifndef MATRIX_H_ #define MATRIX_H_ class matrix { private: double a[20][20]; int m,n; public: matrix(); matrix(const matrix&a); ~matrix(); matrix operator=(const matrix&a); friend void

java数组-一个数组可以看成一个类吗,数组当中的每一个元素可以看成一个对象吗

问题描述 一个数组可以看成一个类吗,数组当中的每一个元素可以看成一个对象吗 一个数组可以看成一个类吗,数组当中的每一个元素可以看成一个对象吗 解决方案 数组是一种数据类型,数组中的每个元素类型取决于它的声明是什么类型,例如:String[],里面只能存放String类型的数据.Student[],里面只能存放Student类型的数据. 解决方案二: 数组是一个容器 ,你可是在里面放类 ,但它不是一个类 解决方案三: 不能,虽然数组里可以放很多东西,但它不是一个类.数组,就是相同数据类型的元素按一

class-编写一个使用类模板对数组进行排序、查找和求元素和的程序。

问题描述 编写一个使用类模板对数组进行排序.查找和求元素和的程序. 设计一个类模板templateclass Array,用于对T类型的数组进行排序.查找和求元素和,然后由此产生模板类Array和Array. 解决方案 http://www.warting.com/program/201109/33601.html 第四题 解决方案二: 编写一个使用类模板对数组进行排序,查找和求元素和的程序.

c++-关于C++将类时,类中的数组需不需要用指针建立的问题

问题描述 关于C++将类时,类中的数组需不需要用指针建立的问题 如 我有class A{ private: int number[1000]};还是 class A{ private: int* number}然后在具体的初始化时在动态空间.由于我们在确立对象时,会根据动态去创建.A *test:test=new A:这个样子 ,上述两种做法的却别大吗?我估计二种做法都是动态内存的,只是第一种会导致类所有变量会连续,而第二种可能分散(因为他有二次申请内存的过程),是这样吗,各位大牛! 解决方案

java-如何为已封装的构造类中的数组赋值并打印

问题描述 如何为已封装的构造类中的数组赋值并打印 初学java 望大神赐教 class Leisss{ private String name; private Leisss(String a){ this.name=a; } public void setname(String ss){ this.name=ss; } public String getname(){ return this.name; } static Leisss shuzu[]=new Leisss[3]; public

泛型-c#如何实现动态分配数组

问题描述 c#如何实现动态分配数组 比如我要产生一个二维的数组,但是数组的行数和列数都不确定,而且每一行的数组元素 也不相同.如果用泛型list<>的话,是不是可以实现这种过程?应该怎么声明list<>呢 解决方案 你要写一个二维的数组,数组的行数和列数怎么可以不确定呢 解决方案二: C实现动态分配三维数组 解决方案三: 用泛型可以实现这个! 解决方案四: ist> array1 = new List>(); 解决方案五: Listarray1 = new List&g

类的指针数组的排序问题

问题描述 类的指针数组的排序问题 我在做课设,学生成绩管理系统 排序的时候,交换两个对象时候,内部的字符串全部变成了乱码,就是烫啊之类的东西 解决方案 贴出你的代码.你怎么交换的对象,直接赋值的话,是浅拷贝,数组还是指向原来的地址,如果地址在堆栈上或者被回收,就会出现你说的情况. 解决方案二: 代码错误太多了,都没法修改 随便说一个 if( strcmp( user[k].getnum() , user[j].getnum() ) < 0 ) 这里num是数字,怎么用strcmp比较??? 解决

mfc-为什么类中的数组size会突然变大

问题描述 为什么类中的数组size会突然变大 vector ans; //类中的public成员变量 先在一个函数中为ans push_back了很多值 这里的size是正常的因为 for (int i = 0; i < ans.size(); i++) m_list.AddString(ans[i]->getNum()); 可以正常执行,在listbox上可以看到正确的运行结果 但是在另一个按钮响应函数中执行下列语句时则一直提示 遇到不适当的参数 void searchInfo::OnLbn