C++ Primer读书笔记1--基本语言
来源:互联网 发布:linux 不支持ext4 编辑:程序博客网 时间:2024/04/30 08:47
一、变量和基本类型
const 常数限定符
- const 在定义时必须进行初始化,并且一旦初始化后,其值不能进行修改;
- 默认情况下全局域的const变量只能在本文件使用,无法被外部文件访问;若需被整个程序访问,需定义时指定const变量为extern。
<pre name="code" class="cpp">//file_1.cc//define and init a const that is accessible to other filesextern const int BufSize = 512;//file_2.ccextern const int BufSize; //use BufSize in file_1.cc
引用
- 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。
- 引用的声明方法:类型标识符 &引用名=目标变量名;
【例1】:int ival; int &refVal=ival; //定义引用refVal,它是变量ival的引用,即别名
说明:
(1)&在此不是求地址运算,而是起标识作用。
(2)类型标识符是指目标变量的类型。
(3)声明引用时,必须同时对其进行初始化。
(4)引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,且不能再把该引用名作为其他变量名的别名。
(5)声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,对引用求地址,就是对目标变量求地址。&refVal与&ival相等。
- const 的引用可以绑定到不同类型变量或者常数,如:int i = 1; const int &ra = 42; const &rb = ra + i;
枚举enum
- enum modes {input, output, append}; 默认第一个枚举元素赋值是0,后面元素比前面大1.
- enum Forms {shape = 1; sphere, cylinder, polygon}; 第一个元素显式赋值,后面元素依次+1, sphere = 2; cylinder = 3。
struct & class
- 唯一区别在于默认访问级别不同,struct默认为public,class默认为private。
二、标准数据库
命名空间using声明
使用using声明后可以不加前缀情况下使用命名空间中名字,格式如下:
using namespace::name
常用声明如下:
using std::cin; using std::cout; using std::string; using std::endl; using std::vector;
标准库string类型
- 初始化: string s; 默认构造函数,s为空字符串 string s2(“value”); 初始化为“value” 。
- 读写: cin >> s 1. 读取并忽略开头所有空白字符(‘ ’, ‘\t’, '\n'); 2.再次遇到空白字符,结束一次读取。
标准库vector类型
- 容器vector中所有对象必须是同一类型的;
- vector<T> v; vector保存类型为T的对象,默认构造函数v为空;vector<string> ivec(10); 10个元素,均初始化为0。
while(cin >> words){ivec.push_back(words); //像vector后面添加元素}for(std::vector<string>::iterator iter = ivec.begin(); iter != ivec.end(); ++iter) //迭代器iterator{tmp = *iter;for(string::size_type j = 0; j != tmp.size(); ++j){tmp[j] = tolower(tmp[j]);}*iter = tmp;
迭代器iterator:用于检查容器内元素并遍历元素的数据类型
- std::vector<string>::iterator iter = ivec.begin() //返回迭代器指向的第一个元素; ivec.end() //返回迭代器指向的末端元素的下一个;
- const_iterator只能用于读取容器内元素,不能改变其值;
- 任何改变vector长度的操作都会使已存在的迭代器失效。
0 0
- 《C++Primer》读书笔记---基本语言
- C++ Primer读书笔记1--基本语言
- C primer 读书笔记1
- 《c++primer》之基本语言
- C++Primer读书笔记之基本内置类型
- 【旧】C++Primer读书笔记(1)
- C++Primer读书笔记:1 开始
- C primer 读书笔记 结构1
- c primer plus 读书笔记1
- C primer plus 读书笔记 (1)
- 《C++primer》读书笔记(1)
- C++Primer读书笔记——变量和基本类型补充
- C++Primer 读书笔记 第1章 开始
- <<C++Primer PLus 第五版>>读书笔记1
- C++Primer读书笔记(1)-声明和定义
- <<C++Primer PLus 第五版>>读书笔记1
- C-PRIMER PLUS读书笔记
- C-PRIMER PLUS读书笔记
- 数字图像处理 边缘特征提取 Image edge detection
- 汇编语言----实验16--编写包含多个功能子程序的中断例程
- 把二元查找树转变成排序的双向链表
- iOS 开发库(iOS Developer Library)
- 【微软100题】输入一颗二元查找树,将该树转换为它的镜像
- C++ Primer读书笔记1--基本语言
- 用STL设计消息队列、优先级消息队列、资源分配管理器
- js文件包含方法
- Java List、Array中文,英文排序
- grep使用
- c++子类和父类同名成员函数
- Mysql安装
- Theory:大小顶堆,排序,插入,删除
- Hadoop-1.2.1伪分布下 hive-0.10.0内嵌模式安装