C/C++/STL
文章平均质量分 82
kanguolaikanguolaik
2013.08.07 今天是个好日子
展开
-
STL算法:find、fill
find、fill:#include #include #include using namespace std;int main(){ vector v; v.push_back(1); v.push_back(4); v.push_back(2); v.push_back(3); v.push_back(5); fill(v.begin()+1, v.end原创 2013-03-22 23:57:43 · 929 阅读 · 0 评论 -
STL版本介绍:HP STL、SGI STL、STL Port、PJ STL、RW STL
C++STL的版本实现有很多种,包括:HP STL、SGI STL、STLPort、P.J.Plauger STL和Rouge Wave STL等一、HP STL。1.1 设计实现 HP STL是Alexandar Stepanov在惠普Palo Alto实验室工作时,与Meng Lee合作完成的。1.2 实际应用 其他版本的C++ STL,一般是以原创 2013-09-09 15:52:30 · 7747 阅读 · 0 评论 -
STL Port编译,Windows/Linux
一、下载 文件名:STLport-5.2.1.tar.bz2 下载地址:http://www.stlport.org/download.html http://sourceforge.net/projects/stlport/二、解压缩 将STLport-5.2.1.tar.bz2解压缩到:D:\Installed software for dev原创 2013-09-09 16:46:45 · 2290 阅读 · 0 评论 -
fstream: 打开文件方式
一、fstream文件打开方式。 ios::in input ios::out output ios::app append ios::ate at end ios::binary binary ios原创 2013-12-12 14:58:23 · 3326 阅读 · 0 评论 -
log日志:简单的log日志输出(C++)
一、头文件types.h////////////////////////////////////////////////////////////////////Descript: common definition and function.// Author: guowemyan// Date:2013.12.17/////////////////////////////原创 2013-12-18 09:46:38 · 7216 阅读 · 0 评论 -
多线程锁:跨平台 C/C++
一、跨平台锁文件:manual_lock.h////////////////////////////////////////////////////////////////////Descript: mannual lock.// Author: guowenyan// Date: 2013.12.16////////////////////////////////////原创 2013-12-18 14:33:45 · 2907 阅读 · 0 评论 -
C++ IO流:iostream、fstream、strstream
#include #include #include using namespace std;int main(){ int x,y,z; //iostream /* cin>>x>>y>>z; cout<<"x:"<<x<<" y:"<<y<<" z:"<<z<<endl; */ //fstream /* ifstream indata; indata.ope原创 2013-03-22 16:34:17 · 1299 阅读 · 0 评论 -
enum类型,定义、变量长度、与int转换、与string转换
使用说明: 1. 定义enum的最后一项的逗号“,”,可有可无; 2. sizeof(enum项) = 4; 3. 定义enum变量,C和C++方式不同; 4. enum变量与int互相转换;代码:#include #include enum type{ AAA = 1, BBB原创 2015-08-04 11:58:25 · 1687 阅读 · 0 评论 -
STL容器:map,multimap
map,multimap:map中不允许有重复元素。自动按key键升序排序。#include #include using namespace std;int main(){ //map m; multimap m; m.insert(pair(1, 10)); m.insert(pair(3, 30)); m.insert(pair(5, 50));原创 2013-03-22 17:44:08 · 973 阅读 · 0 评论 -
Linux C:函数的可变参数
一、代码主要使用: #include <stdarg.h> ... va_list void va_start(va_list ap, last); type va_arg(va_list ap, type); void va_end(va_list ap);第一个参数c,用来指定参数的个数。#include <stdio.h>#inc...原创 2018-04-09 16:06:54 · 1623 阅读 · 0 评论 -
fstream:一行一行的读取文件数据
使用fstream一行行的读取文件数据。 Windows/Linux均测试通过。一、代码#include #include #include using namespace std;int main(int argc, char*argv[]){ ifstream read_file; read_file.open("aaa.txt", ios::binary)原创 2013-09-06 15:52:36 · 20562 阅读 · 1 评论 -
STL函数对象:与函数指针的比较
一、函数对象、函数指针的定义和使用 二者定义方式不同,使用方式相同。#include using namespace std;//function objectclass obj_Add{public: int operator() (int val1, int val2) { return val1 + val2; }};//function poi原创 2013-08-17 08:29:28 · 1433 阅读 · 0 评论 -
STL函数对象:定义、及其在STL中的应用
一、函数对象定义与实例1.1 定义 函数对象:一个重载了运算符()的个对象,可以像一个函数一样使用。1.2 实例#include using namespace std;#include #include #include using namespace std;bool pred(int val){ return val > 0;}int mai原创 2013-08-17 07:44:42 · 1296 阅读 · 0 评论 -
STL容器:deque
deque:支持随机访问,即支持[]和at(),但性能没vector好。可以在内部进行插入和删除,但性能没list好。#include #include using namespace std;int main(){ deque d; d.assign(4,"middle"); d.push_back("back data"); d.push_fron原创 2013-03-22 17:56:47 · 839 阅读 · 0 评论 -
STL容器:set,multiset
set,multiset:set中不允许有重复元素。#include #include using namespace std;int main(){ //set > s; multiset > s; s.insert(1); s.insert(5); s.insert(4); s.insert(2); s.insert(3); s.insert(4);原创 2013-03-22 17:22:09 · 999 阅读 · 0 评论 -
STL,map常用方法
#include #include #include #include using namespace std;#define VEC_COUNT 3void main(int argc,TCHAR*argv[]){//1.构造函数 vectorvec1,vec2; //vector vec(VEC_COUNT); //有VEC_CO原创 2013-05-30 09:25:59 · 986 阅读 · 0 评论 -
STL之文件读写类fstream
此类中会用到一个boost相关的函数,见:http://blog.csdn.net/kanguolaikanguolaik/article/details/9130945ma_file_op.h:////////////////////////////////////////////////////////////////////Descript: file operation cla原创 2013-06-19 17:59:41 · 1075 阅读 · 0 评论 -
STL,map 错误:error C2784
一、错误现象:使用map,自定义的类型作为key,出现错误error C2784 error C2784: “bool std::operator &,const _Elem *)”: 未能从“const CDpMysqlConnAttr”为“const std::basic_string &”推导 模板 参数 1> c:\program fi原创 2013-07-30 12:15:50 · 3611 阅读 · 0 评论 -
STL内存分配器:allocator
一、STL泛型容器中隐藏了内存管理工作STL二、STL的默认内存分配器三、STL默认内存分配器实现原理原创 2013-08-19 15:04:38 · 1714 阅读 · 0 评论 -
STL配接器:
一、配接器定义 配接器没有找到合适的定义,在网上搜到了一下两种说法,作为定义: 配接器是一种设计模式,它在原有类型的基础上扩展成为另一个接口,使原本因为接口不兼容而不能合作的类型可以一起工作。 函数对象直接应用的地方较少,它配合实现一些算法(作为算法的参数),于是便有函数配接器。二、配接器应用实例#include #include #incl原创 2013-08-20 14:32:28 · 1245 阅读 · 0 评论 -
STL 总体介绍
一、C++的内容1.1 C1.2 Object-Oriented C++ class(构造函数和析构函数)、封装(encapsulation)、继承(inheritance)、多态(polymorphism)、virtual函数(动态绑定)......等等。1.3 Template C++ 函数模板、类模板;几个模板术语1.4 STL原创 2013-08-16 17:23:38 · 653 阅读 · 0 评论 -
STL学习资料
一、书籍《STL源码剖析》 http://book.douban.com/subject/1110934/《Effective STL中文版》 http://book.douban.com/subject/1792179/原创 2013-08-15 09:45:51 · 818 阅读 · 0 评论 -
Linux C/C++ 区别:类型声明、struct
C有数组、结构体、指针、函数、宏C++有命名空间、引用、默认参数、模板、函数重载、自定义操作符、内联、构造/析构、私有/保护成员、友元、异常。一、数据类型声明1.1 C++允许数据类型声明可以出现在程序的任何位置。 C代码:异常#include <stdlib.h>#include <stdio.h>int main(int arg...原创 2015-04-15 23:08:13 · 1511 阅读 · 0 评论