C++_在看string2image代码的笔记

#include 是C++的预编译语句,作用是包含对应的文件,在这里是包含C++的STL头文件fstream。
在包含了这个文件后,就可以使用fstream中定义的类及各种成员函数了。
fstream是C++ STL中对文件操作的合集,包含了常用的所有文件操作。在C++中,所有的文件操作,都是以流(stream)的方式进行的,fstream也就是文件流file stream。
最常用的两种操作为:

1、插入器(<<)
  向流输出数据。比如说打开了一个文件流fout,那么调用fout<<"Write to file"<<endl;就表示把字符串"Write to file"写入文件并换行。
2、析取器(>>)
  从流中输入数据。比如说打开了文件流fin,那么定义整型变量x的情况下,fin>>x;就是从文件中读取一个整型数据,并存储到x中。
https://zhidao.baidu.com/question/232319894.html


set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。
平衡二叉检索树使用中序遍历算法,检索效率高于vector、deque和list等容器,另外使用中序遍历可将键值按照从小到大遍历出来。

在C++标准里定义了两个字符串string和wstring 

typedef basic_string<char> string; 

typedef basic_string<wchar_t> wstring; 

 前者string是常用类型,可以看作char[],其实这正是与string定义中的_Elem=char相一致。而wstring,使用的是wchar_t类型,这是宽字符,用于满足非ASCII字符的要求,例如Unicode编码,中文,日文,韩文什么的。对于wchar_t类型,实际上C++中都用与char函数相对应的wchar_t的函数,因为他们都是从同一个模板类似于上面的方式定义的。因此也有wcout, wcin, werr等函数。      实际上string也可以使用中文,但是它将一个汉字写在2个char中。而如果将一个汉字看作一个单位wchar_t的话,那么在wstring中就只占用一个单元,其它的非英文文字和编码也是如此。这样才真正的满足字符串操作的要求,尤其是国际化等工作。 

http://blog.csdn.net/huangzeyy/article/details/40857907


WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。
  MultiByteToWideChar的代码页用来标记与一个多字节字符串相关的代码页。
常用的代码页由CP_ACP和CP_UTF8两个:
  使用CP_ACP代码页就实现了ANSI与Unicode之间的转换。
  使用CP_UTF8代码页就实现了UTF-8与Unicode之间的转换。

http://www.cnblogs.com/wind-net/archive/2012/10/31/2718329.html


string中有两个函数:reserve()和resize(),最近细细的看了下这两个函数的使用,记录下来。

    reserve为容器预留足够的空间,避免不必要的重复分配,分配空间大于等于函数的参数,影响capacity。

    resize调整容器中有效数据区域的尺寸,如果尺寸变小,原来数据多余的截掉。若尺寸变大,不够的数据用该函数第二个参数填充,影响size。

(1)reserve代码如下:http://blog.csdn.net/freecloud_insky/article/details/47058597




原文地址:https://www.cnblogs.com/xf666/p/7074700.html