第三章:标准库类型

1:标准库函数,类名等都在std命名空间中;有些类型名或函数在类里面的头文件中,故而通过头文件可以得到,或者通过“类::”得到。而很多c++的标准库中类名,不仅仅是添加头文件,还需要加std::。

2:关于c与c++的头文件区别:c的标准库都是用.h命名的,而c++是没有的;对于兼容c则c++通过cXXX来表示了,例如stdio.h就是cstdio。标准库中的头文件通过<>;非标准的用””。

3:<>和””是用于指出寻找函数,或者类等的初始路劲。用<>表示从系统的路径找也就是标准库存放路劲;””是从当前路劲找,也就是建立工程的路径。

第一:string标准库

1:c++和c的string区别---优秀说明:http://www.doc88.com/p-207512823966.html

其实质就是c种的string是char指针,而c++的string是类的指针效果;c++兼容c,在字符面值上保持了c的风格。故而用c的输入输出时不能用c++的string对象,而需要用该类对象的方法c_str方法转变为c可用的string。

2:string构造函数有:

string s1;
string s2(s1);
string s3("abcd");
string s4(n,‘c‘);

3:操作

s.empty();
s.size()
s[n];
s1==s2;
s1=s2
s1!=s2;
s1>s2;//>=
s1<s2;//<=

4:类型:string:size_type和无符号的机器类型;

5:字符连接时必须有操作符+,且左右必须有个字符类型变量。

6:关于字符处理函数在头文件cctype。

7:类型:vector<T>::difference_type;有符号的

第二:vector类型

1:vector不是数据类型,而是类模板

2:构造函数

vector<T> v1;
vector<T> v2(v1);
vector<T> v3(n,i);
vector<T> v4(n);

3:操作

v.empty();
v.size();
v.push_back;
v1=v2;
v1==v2;
v1!=v2;
v1>v2;//v1>=v2;
v2<v2;//v1<=v2

4:关于值初始化,内置类用0初始化;类用默认构造函数,若没有则必须提供初始化;类若无任何构造函数则系统有合成默认构造函数。

5:习惯:习惯用!=而不是<;习惯与用s.size()因为是inline,多次调用不影响效率。

6:迭代器是比[]操作更加灵活的东西,使用频率多。重要是*,++操作,有+右操作数是常数,-操作对象。

7:内部有高效的动态对象增加

第三:bitset标准库

1:初始化构造函数

bitset<n> b;
bitset<n> b(u);
bitset<n> b(s);
bitset<n> b(s,pos,n);

2:注意用字符串初始化时,字符的顺序和bitset顺序是相反的。

3:操作

b.any();
b.none();
b.count();
b.size();
b.set();
b.set(pos);
b.reset();‘
b.reset(pos);
b.flip();
b.flip(pos);
b.b[pos];
b.tes(pos);
b.to_ulong();
os<<b;

4:此处用途是多个判决可以用此类存储,犹如bit图的一行。

5:类型:size_t无符号的在头cstddef

时间: 2024-10-14 06:14:02

第三章:标准库类型的相关文章

【C++ Primer每日一刷之五】标准库类型小结

标准库类型小结 C++ 标准库定义了几种更高级的抽象数据类型,包括 string 和 vector 类型.string 类型提供了变长的字符串,而 vector 类型则可用于管理同一类型 的对象集合.迭代器实现了对存储于容器中对象的间接访问.迭代器可以用于访问和遍历 string 类型和vectors 类型的元素.下一节将介绍 C++ 的内置数据类型:数组和指针.这两种类型提供了类似于 vector 和 string 标准库类型的低级抽象类型.总的来说,相对于C++ 内置数据类型的数组和指针而言

C++拾遗(二)——初窥标准库类型

本篇博文的开始,先介绍一道书上看到的智力题:有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸.有一台称重精准的天平,只是用一次天平的情况下如何找出比较重的那瓶药丸? 好了,直接公布答案.从药瓶#1取出一粒药丸,从药瓶#2取出两粒,从药瓶#3取出三粒,依此类推.如果每粒药丸均重1克,则称得总重量为210克(1 + 2 + … + 20 = 20 * 21 / 2 = 210),“多出来的”重量必定来自每粒多0.1克的药丸.药瓶的编号可由算式(weight - 210 gr

标准库类型vector

标准库类型vector表示对象的集合,其中所有对象的类型都相同.集合中的每个对象都有一个与之对应的索引,索引用于访问对象.因为vector“容纳着”其他对象,所以它被称为容器. 要想使用vector,必须包含适当的头文件.#include<vector> C++语言既有类模板,也有函数模板 ,其中vector是一个类模板. 模板本身不是类或函数,相反可以将模板看作为编译器生成类或者函数编写的一份说明.编译器根据模板创建类或函数的过程成为实例化,当使用模板时,需要指出编译器应把类或函数实例化为何

C++ Primer 学习笔记_8_标准库类型(续2) -- iterator

 标准库类型(三) --iterator 序言: 迭代器是一种检查容器内元素并遍历容器元素的数据类型. 所有的标准库容器都定义了相应的迭代器类型,而只有少数的容器支持下标操作:因此,现代C++更倾向于使用迭代器而不是下标操作访问容器元素. 正文: 1.容器的iterator类型 每个标准库容器类型都定义了一个名为iterator的成员: [cpp] view plaincopyprint? vector<int>::iterator iter; vector<int>::ite

c#高级编程第七版 学习笔记 第三章 对象和类型

第三章 对象和类型 本章的内容: 类和结构的区别 类成员 按值和按引用传送参数 方法重载 构造函数和静态构造函数 只读字段 部分类 静态类 Object类,其他类型都从该类派生而来 3.1 类和结构 类和结构都是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法 结构和类的区别是他们在内存中的存储方式.访问方式(类是存储在堆上的引用类型,而结构是存储在栈上的值类型)和他们的一些特征(如结构不支持继承).较小的数据类型使用结构可提高性能.但在语法上,结构和类非常相似,主要的区别是使用

3.2 标准库类型string(上)

#include <string> #include <iostream> using std::string; using std::cin; using std::cout; using std::endl; //string定义在命名空间std中 int main() { /**************3.2.1 定义和初始化string*****************/ string s1; //默认初始化,S1是一个空字符串 string S2 = s1; //S2时S

C++ Primer 学习笔记_7_标准库类型(续1) -- vector类型

 标准库类型(二) --vector类型 引子: vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值.和string对象一样,标准库将负责管理与存储元素相关的内存. 我们将vector称之为容器,一个容器中的所有对象都必须是同一类型的! [cpp] view plaincopyprint? #include <vector> using std::vector; #include <vector> using std::vector; [模板] vector

C++ Primer 学习笔记_9_标准库类型(续3) -- biteset

 标准库类型(四) --biteset 序言: 位是用来保存一组项或条件的yes/no信息[标识]的简洁方法. [cpp] view plaincopyprint? #include <bitset> using std::bitset; #include <bitset> using std::bitset; 正文: 1.bitset对象的定义和初始化 和vector对象不同的是:bitset类型对象的区别在于其长度而不是类型.在定义bitest时,要在尖括号中说明给出他的长

c++标准库类型

1.作用域操作符 例如,需要从标准输入读取数据时,就用 std::cin.这些名字都用了:: 操作符,该操作符是作用域操作符,它的含义是右操作数的名字可以在左操作数的作用域中找到.因此,std::cin 的意思是说所需要名字 cin 是在命名空间 std 中定义的. 2:命名空间 #include <string> #include <iostream> // using declarations states our intent to use these names from

C++ Primer 第四版读书笔记(二)之标准库类型

C++定义了一个内容丰富的抽象数据类型标准库,其中最重要的标准库类型是string和vector,它们分别定义了大小可变的字符串和集合.string和vector往往将迭代器用作配套类型,用于访问string中的字符,或者vector中的元素. 另一种标准库类型为bitset,提供了一种抽象方法来操作位的集合. string类型支持长度可变的字符串,vector用于保存一组指定类型的对象. bitset类标准库类型提供了更方便和合理有效的语言级的抽象设施.通过这个类可以把某个值当作位的集合来处理