扎实走好每一步

数组【Array】是一种顺序容器,包含单一类型的元素。

数组的初始化

int feibo【9】= {0,1,1,2,3,5,8,13,21};

这样的赋值是错误的  int num = feibo[1];

在C++对象可以静态分配内存,即便一起处理程序代码是后进行分配,也可以动态分配,即程序执行时候库函数分配,这两种分配方法的主要区别是效率与灵活性的平衡原则不同。 静态分配都是程序执行前分配的,因而效率比较高,但是缺少灵活性,他要求程序执行前就知道所需的内存类型和数量。一般未知数目的元素需要动态内存分配。

1.静态变量是有名字的哦变量,我们可以直接对其进行操作,而动态变量没有名字,我们只能间接的通过指针对它进行操作。

2.静态变量的分配是释放有编译器完成,程序员不需要关心。动态分配内存程序员就要显式的 创建和释放。

对象的动态分配可通过new表达式的两个表达式来完成

1.第一个是用来分配特定类型的单个对象。int * pint = new int(1024);   删除单个对象 delete pint;

2.第二种是用来分配特定类型和维数的数组 。如 int* pa = new int [4] 删除对象数组  delete []pa;

  如果没有释放对象内存,会导致内存泄漏,内存泄漏是指一块动态分配的内存我们不再拥有这块内存的指针,导致以后不能用这块内存。

练习:

int ival  = 1024 ;静态分配一块4字节内存存储整形变量并初始化为1024;编译期间分配。

int* pi = &ival;   静态分配一块内存来存储整形指针变量 并且用ival的地址来初始化指针。

int * pi2 = new int (1024); 动态分配内存4个字节存储整形指针变量,并且指向1024的地址。

int*pi3 = new int[1024];动态分配内存4*1024字节,指向所分配内存的首地址。

String

const

vector

vector<int> ievc(10)  相当于ia[10]

vector<int> ievc(10,-1)  初始化10个数每个数都初始化为-1

vector<int> ivec(ia,ia+6) 把 ia中的6个数值拷贝到ivec中

与内置元素不同  vector可以被另一个vector初始化

vector<string> svec;

向vector中插入元素    

vector text;

text.push_back("damon");

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值