C++ Primer 第3章 字符串.向量和数组 C Primer 第3章 字符串向量和数组 1 命名空间的using声明 2 标准库类型string 3 标准库类型vector 4 迭代器介绍 5 数组 定义 访问数组元素 指针和数组 与旧代码的接口 6 多维数组 3.1 命名空间的using声明 using namespace::name; 头文件不应包含using声明 3.2 标准库类型string 使用等号(=)初始化一个变量,实际上执行的是拷贝初始化,编译器把等号右侧的初始值拷贝到新创…
督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. c和c++的数组和指针都属于低级的复合数据类型,比如c++的数组,类似vector容器,指针类似迭代器.低级的数据类型优势是速度快.但是容易出错,不好调试.现代c++程序,应该避免使用. 内置数据类型—数组,不方便存储变长数据,定义之后长度固定(静态数组),数组类似容器,比如,无法事先知道一个给定数组的长度,也没有类似size函数来求数组长度,也没有push_back()函数来添加元素,如果要更改数组长度,程序员只能重新建立…
数组 数组由数据类型相同的同一系列元素组成 需要使用数组时,通过声明数组告诉编译器数组中内含多少元素和这些元素的类型 普通变量可以使用的类型,数组元素都可以用 float candy[365]; // 内含 365 个 float 类型元素的数组 char code[12]; // 内含 12 个 char 类型元素的数组 int states[50]; // 内含 50 个 int 类型元素的数组 方括号([])表明 candy.code 和 states 都是数组,方括号中的数字表明数组中的…
C++ Primer Plus 第6版 指针和数组基本等价的原因在于指针算术! 一.指针 ⑴整数变量+1后,其值将增加1: ⑵指针变量+1后,增加的量等于它指向的类型的字节数: ⑶C++将数组名解析为地址: 例如:如果系统对double使用8个字节存储,其数值将增加8,   如果系统对short使用2个字节存储,则指针值将增加2 #include <iostream> int main() { using namespace std; ]={10000.0,20000.0,30000.0};…
1.数组的大小是固定不变的,声明时必须指定大小(或者使用列表初始化),而且大小必须大于0,C++ Primer里面也建议,如果不确定元素的个数,请使用vector. ]; , , }; //数组长度固定为3 2.和内置类型一样,如果在函数内部定义了某种内置类型的数组,那么默认初始化会令数组含有未定义的值,例如: int main(int argc, char *argv[]) { int arr[3]; for(int i : arr) std::cout << i << std:…
非const引用,只能用object为其赋值: <c++primer>P52 而const引用则可以用临时变量为其赋值: 如: const int &r = 32://可以 int &rr = 32 // error 而且: 非const引用只能绑定到与该引用同类型的对象: const引用则可以绑定到不同但相关的类型的对象或绑定到右值://左值:可以出现在赋值语句的坐标或右边:右值:只能出现在赋值的右边. 当进行string对象和字符串字面值混合连接操作是,+操作符的左右操作数…
督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 一:大小端的概念 Big-Endian和Little-Endian(见计算机存储的大小端模式解析) 二:浮点数的机器级表示 (见从如何判断浮点数是否等于0说起——浮点数的机器级表示) 三:c++的基本的内置类型: 1)算术类型,又包括: 整型(包括:整数int.short.long int类型,单个字符(分为存储单个机器字节的char类型,1个字节,char有三种不同的类型,普通char,unsigned char和sign…
督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 问题1.我们知道,将一个数组赋给另一个数组,就是将一个数组的元素逐个赋值给另一数组的对应元素,相应的,将一个vector 赋给另一个vector,也是将一个vector 的元素逐个赋值给另一vector 的对应元素: //将一个vector 赋值给另一vector,使用迭代器访问vector 中的元素 vector<, ); vector<int> ivec1; for (vector<int>::ite…
督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. //开头 #include <bitset> using std::bitset; 问题1.标准库bitset类型(模版) 需要处理二进制位的时候,可以使用c++标准库提供的bitset类型,它也是类模版,类似vectro容器,唯一不同的是,bitset类型需要说明长度,使用常量表达式给出的整型字面值或者已经初始化的cosnt对象. bitset<> bit;//从0到31位算的,bit的32位每位初始化为0…
督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 标准库vector类型初探,同一种类型的对象的集合(类似数组),是一个类模版而不是数据类型,学名容器,负责管理 和 存储的元素 相关的内存,因为vetcor是类模版,对应多个不同类型,比如int,string,或者自己定义的数据类型等. 程序开头应如下声明 #include <iostream> #include <vector> #include <string> using std::strin…