更新:勘误,delete [] 猪 我们知道,C语言以及早期的面向结构的语言差点儿都支持数组定义.比方整形数组int 女神[2].表示有俩数: 女神[0], 女神[1].她们都是整数. C++ 语言为了效率和兼容考虑,也支持这个. 当然了,毕竟是别人家的孩子(标准).并不提供类似于 vector 和迭代器类型那些奇妙的能力.与 vector的差别在于.数组的长度是固定的.另外呢,指 针还是那个指针,没有变化. ​ 我们编程时候.尽量使用 vector,避免使用数组和指针.有了vector和她的i…
1.数组:数组是由类型名.标识符和维数组成的符合数据类型,类型名规定了存放在数组中的元素类型,维数规定数组中包含元素的个数而标识符就是数组的名称.例如: int  arr[10]; 其中 int 是类型名,arr是标识符而 10 是数组的维数. 2.数组的定义和初始化:数组的初始化要注意以下几点 (1). 数组中存放的元素类型不能是引用类型,除此之外可以是其他任何类型. (2). 数组的维数必须是字面值常量.枚举常量或者常量表达式(但不能是在运行时才知道其值得常量表达式) (4). 显示初始化整…
一.什么是指针? 指针与迭代器一样,指针提供对其所指对象的间接访问,指针保存的是另一个对象的地址: string s("hello"); string *ps = &s; //ps holds the address of s 二.指针的定义和初始化 1.两种声明指针变量的风格 string *ps1: string* ps2: 理解指针声明语句时,请从右向左阅读: 从右向左阅读pstring变量的定义,可以看到: string *pstring: 语句把pstring定义为一…
语句总是顺序运行的:第一条语句运行完了接着是第二条,第三条等等.这是最简单的情况,为了更好的控制语句的运行.程序设计语言提供了多种控制结构支持更为复杂的语句运行.我们就来看看C++ 提供的控制方式. 一. while 语句 while 语句提供了循环运行功能.能够用 while 语句编写一个好玩的从 1 到 5(包含 5)的数数游戏:1+2+3+4+5 #include <iostream> int main() { int game_num= 0, val = 1; //继续运行.直到val…
更新:又一次排版代码格式 除上篇博客介绍的基本数据类型外,C++ 还定义了一个内容丰富的抽象数据类 型标准库. 包含 string 和 vector,它们分别定义了字符串和矢量(集合).string 和 vector 往往用迭代器iterator訪问 string 中的字符,或者 vector 中的元素.       还有一种标准库类型 bitset.她提供了一些方法的集合.我们能够利用这些方法来像C语言那样控制整数的二进制表示的一个个比特位,比方01110101.我们能够利用bitset里提供…
    新手入门:C/C++中数组和指针类型的关系 对于数组和多维数组的内容这里就不再讨论了,前面的教程有过说明,这里主要讲述的数组和指针类型的关系,通过对他们之间关系的了解可以更加深入的掌握数组和指针特性的知识! 一个整数类型数组如下进行定义: int a[]={1,2,3,4}; 如果简单写成: a;//数组的标识符名称 这将代表的是数组第一个元素的内存地址,a;就相当于&a[0],它的类型是//注意这里的表示就是将a数组的起始地址向后进一位,移动到第二个元素的地址上也就是a[0]到a[1]…
督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 问题1.我们知道,将一个数组赋给另一个数组,就是将一个数组的元素逐个赋值给另一数组的对应元素,相应的,将一个vector 赋给另一个vector,也是将一个vector 的元素逐个赋值给另一vector 的对应元素: //将一个vector 赋值给另一vector,使用迭代器访问vector 中的元素 vector<, ); vector<int> ivec1; for (vector<int>::ite…
学习总结 1.数组初始化方式: int a[]={1,2,3} int a[SIZE]={1,2,3} //SIZE是宏定义,数组初始化个数不能大于SIZE,否则报错:当个数小 //SIZE,自动补0:只定义不初始化,默认值是当前存储单元中已有的数值. int a[SIZE/不定长]={1,[3],2} //C99支持通过[int]=x来定义具体位置值,跳过的默认值为0. 2.通过const修饰的数组为只读数组,数组的每个元素当成常量来处理,如: const int a[2]={1,2}; co…
这章感觉好难啊,放个别人的总结. // 多维数组和指针 #include <stdio.h> int main(void) { int zippo[4][2] = {{2, 4}, {6, 8}, {1, 3}, {5, 7}}; /* zippo[0]是一个整数大小对象的地址,而zippo是两个整数大小对象的地址. 因为(一个)整数和两个整数组成的数组开始于同一个地址,因此zippo和zippo[0]具有相同的数值. 验证: 输出也显示出二维数组zippo的地址和一维数组zippo[0]的地…
类比的思想学习数组和指针,c++提供类似于vector和迭代器的低级复合类型——数组和指针.与vector相似,数组可以保存某一种类型的一组对象:而他们的区别在于,数组的长度固定,数组一经创建就不允许添加新元素.指针则可以像迭代器一样用于遍历和检查数组中的元素 C++应尽量使用vector和迭代器类型,避免使用低级的数组和指针.设计良好的程序只有在抢到速度时才在类实现的内部使用数组和指针 4.1 数组 定义和初始化 数组的位数必须用值大于等于1的常量表达式定义,非const变量以及要到运行阶段才…