C++编程
文章平均质量分 88
C++编程
涂作权的博客
To do what I want to do!
展开
-
C++文件头,命名空间,new和delete,内联函数,引用,函数重载,构造函数和析构函数,深拷贝和浅拷贝,explict,this指针
目 录1 开始学习C++..............................................................................................................41.1 C++的头文件...........................原创 2014-08-09 18:49:09 · 2259 阅读 · 0 评论 -
STL之红黑树容器:set,hash_set,multiset,hash_map,multimap
1红黑树set(不能包含重复元素)案例1:红黑树容器set,插入,查找#include#includeusingnamespacestd; //set中不能有重复的元素,它是一个红黑树容器voidmain(){ setint>myset; myset.insert(10);原创 2014-08-30 22:58:21 · 1292 阅读 · 0 评论 -
C++中多线程
1.多线程多线程案例:#include#include#include#include usingnamespacestd; voidrun(intnum){ Sleep(1000); std::cout "你好天朝" num <<en原创 2014-08-30 22:20:44 · 1466 阅读 · 0 评论 -
二进制文件读写
1.二进制写入,ios::binary#include#include#include usingnamespacestd; structMyStruct{ char *p = "北京是帝都"; intnum = 20; doubledb =原创 2014-08-30 22:13:13 · 1385 阅读 · 0 评论 -
文件操作ofstream,open,close,ifstream,fin,按照行来读取数据, fstream,iosin iosout,fio.seekg(),文件写入和文件读写,文件拷贝和文件
1.ofstream,open,close写入文件#include#include usingnamespacestd; //通过ofstream的方式实现写入文件 open,closevoidmain(){ ofstreamfout; //ofstream输出文件原创 2014-08-30 22:05:28 · 5595 阅读 · 0 评论 -
istringstream字符串流,实现类似字符串截取的功能,字符串流中的put,str()将流转换成为字符串string
1. istringstream字符串流#include#include#include usingnamespacestd; structMyStruct{ stringstr1,str2,str3; doubledb; intn原创 2014-08-30 22:04:03 · 2780 阅读 · 0 评论 -
STL之vector,数组线性容器array,list容器,算法find,find_if,bind1st,仿函数
1.STL(Standard Template Library,是用泛型技术来设计完成的实例)的概念与组成Iterator(迭代器)Container(容器)Algorithm(算法)Adaptors(配接器) STL的六大组件分别是:容器(Container)算法(Algorithm)迭代器(Iterator)原创 2014-08-30 22:32:31 · 2007 阅读 · 0 评论 -
文本提取
文本提取A:#include#includeusingnamespacestd; voidmain(){ { charbuf[80]; cin.get(buf, 80);//以回车结束,最大长度为80 s原创 2014-08-30 22:09:45 · 1142 阅读 · 0 评论 -
复杂引用
1.通过引用来引用数组(一维数组)#include#include /*引用就是给原来的变量有一个别名同一个地址*/voidmain(){ inta[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int(&ra)[10](a); int原创 2014-08-17 00:50:31 · 1281 阅读 · 0 评论 -
STL之multiset中equal_range,multimap中的equal_range,bitset容器,string字符串操作,lambda表达式
1multiset中用equal_range来遍历所有的元素#include#includeusingnamespacestd; //multiset中存储的元素是不重复的voidmain(){ multisetint>myset; myset.insert(100);原创 2014-08-30 23:31:47 · 2789 阅读 · 0 评论 -
用模板元实现50个台阶问题,一次走一步或者两步或者3步,用模板元实现求裴波那契额数列
1.用模板元实现50个台阶问题,一次走一步或者两步或者3步2.分析由上面分析可以知道,到达N(N > 3)级台阶时的次数为:目标台阶的前3个台阶分别直接到目标台阶的次数总和。3.模板元把在运行时消耗的时间,在编译器键优化。4.通过模板元实现的代码如下:#include /*这里是int 类型的,N表示台阶数量*/template原创 2014-08-18 14:23:37 · 1410 阅读 · 0 评论 -
STL算法find,find_if,find_if_not,sort,fill,for_each,count,adjacent_find,random_shuffle,prev_permutation
1find查找#include#include#include#include#include#include usingnamespacestd; voidmain(){ vectorint>myv; myv.push_bac原创 2014-08-31 22:39:29 · 1542 阅读 · 0 评论 -
1.使用C++封装一个链表类LinkList
使用C++封装一个链表类LinkList。写出相应一个测试用例链表需要提供添加 修改删除除重 合并 排序创建销毁等接口。不能调用库函数或者使用STL等类库题目延伸***********逆置链表**********LinkNode.h#ifndefLINKNOD原创 2014-12-07 00:07:23 · 6755 阅读 · 1 评论 -
引用内部函数绑定机制,R转义字符,C++引用,别名,模板元,宏,断言,C++多线程,C++智能指针
1、引用内部函数绑定机制#include#include usingnamespacestd;usingnamespacestd::placeholders; //仿函数,创建一个函数指针,引用一个结构体内部或者一个类内部的共有函数structMyStruct{ void原创 2014-08-17 00:18:03 · 2222 阅读 · 0 评论 -
lambada表达式
lambda表达式//C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda的语法形式如下://[函数对象参数](操作符重载函数参数)mutable或exception声明->返回值类型{函数体 } //可以看到,Lambda主要分为五个部分://[函数对象参数]、(操作符重载函数参数)、原创 2014-08-31 22:24:34 · 3082 阅读 · 0 评论 -
什么是Pro*C/C++,嵌入式SQL,第一个pro*c程序,pro*c++,Makefile,Proc增删改查
1什么是Pro*C/C++1、通过在过程编程语言C/C++中嵌入SQL语句而开发出的应用程序2、什么是嵌入式SQL1、在通用编程语言中使用的SQL称为嵌入式SQL2、在SQL标准中定义了很多中语言的嵌入式SQL原创 2014-10-11 02:09:09 · 4002 阅读 · 0 评论 -
求变量的数据类型,typeid,bool,C和C++的不同,new和delete,C++中的枚举,inline和可变参数模板,auto和函数模板,宽字符
求变量的数据类型,通过函数typeid(变量名).name();获得变量的数据类型。案例如下:#include#include voidmain(){ doubledb = 10.9; double *pdb = &db; autonum =pdb; //原创 2014-08-17 01:05:52 · 2316 阅读 · 0 评论 -
C++中 auto自动变量,命名空间,using作用以及作用域
1.auto关键字的用途A:自动变量,可以自动获取类型,输出,类似泛型B:自动变量,可以实现自动循环一维数组C:自动循环的时候,对应的必须是常量2.auto自动变量,自动匹配类型的案例如下:3.通过auto关键字自动循环一维数组的案例#include#include#includeusing原创 2014-08-13 23:58:33 · 3266 阅读 · 0 评论 -
【干货】国外程序员整理的 C++ 资源大全
关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。标准库C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard Template Library:标准模板库C POSIX转载 2014-10-24 14:27:29 · 2685 阅读 · 0 评论 -
1.C++异常处理
1异常捕获案例1#include#include usingnamespacestd; //标识错误的类型classwrong{}; intintdiv(inta,intb){ try { if (b == 0)原创 2014-09-06 22:53:48 · 1440 阅读 · 0 评论 -
函数模板,函数模板重载,可变参数模板,函数模板覆盖,通过引用交换数据
1.函数模板初级,如果想使用模板,需要实例化,实例化的方式是加上数据类型>#include //函数模板可以对类型进行优化重载,根据类型会覆盖//如果仍然要使用模板函数,需要实例化 templateclassT>Tadd(Ta,Tb){ std::cout "T add " <<原创 2014-08-17 00:28:59 · 2085 阅读 · 0 评论 -
C++中的数组array和vector,lambda表达式,C字符串加操作,C++中新类型数组(数组缓存),多元数组,new缓冲
使用C++风格的数组,不需要管理内存。array要注意不要溢出,因为它是栈上开辟内存.array适用于任何类型#include#include#include //C++的标准库#include //C++字符串#include using std::array;//原创 2014-08-17 00:37:47 · 3285 阅读 · 0 评论 -
window应用移植到Linux下(应用移植)
配置QT的环境变量,这台电脑à属性à高级系统设置à高级à环境变量à系统变量àpathàC:\Qt\Qt5.3.0\5.3\mingw482_32\bin;C:\Qt\Qt5.3.0\Tools\QtCreator\bin创建一个QT项目:winAndLinuxMyUdpProject项目修改QT的项目文件,修改winAndLinuxMyUdpProj原创 2014-08-09 19:13:43 · 4080 阅读 · 0 评论 -
UDP(socket)接和数据案例封装成C++代码
配置QT下的pro文件TEMPLATE = appCONFIG += consoleCONFIG -= app_bundleCONFIG -= qt LIBS += -lWs2_32 ##标示使用window下的Ws2_32.lib,-l表示要链接后面的库#-lWs2_32,link Ws2_32.lib SOURCES +=原创 2014-08-09 22:09:54 · 3495 阅读 · 1 评论 -
4常量表达式计算器
#include#include#include//字符串判定 usingnamespacestd;constintMAX = 1024;doubleoperation(char *str);char *extract(char *str,int &index){原创 2014-09-06 23:18:16 · 1072 阅读 · 0 评论 -
3虚函数表分析
1.带有虚函数的类会多出四个字节的大小,这是一个指针的大小,这个指针的用途是指向虚函数表。2.继承是虚函数表的顺序#includeusingnamespacestd; classH{ virtualvoidM() { cout <<"H::H" <<e原创 2014-09-06 23:14:54 · 1040 阅读 · 0 评论 -
8.Boost之unordered_set
1. boost::unordered_set(优势:查找非常方便)#include#include#include usingnamespacestd; voidmain(){ boost::unordered_setstd::string>myhashset; myh原创 2014-09-06 23:10:36 · 2608 阅读 · 0 评论 -
Window下UDP(socket)接和收数据案例
配置QT的环境变量,这台电脑à属性à高级系统设置à高级à环境变量à系统变量àpathàC:\Qt\Qt5.3.0\5.3\mingw482_32\bin;C:\Qt\Qt5.3.0\Tools\QtCreator\bin创建一个QT项目:winAndLinuxMyUdpProject项目修改QT的项目文件,修改winAndLinuxMyUdpProj原创 2014-08-09 18:56:40 · 4374 阅读 · 0 评论 -
拷贝构造,操作符重载
拷贝构造#include#include usingnamespacestd; classmystring{public: char*s;public: mystring() { s=newcha原创 2014-08-11 01:00:23 · 1250 阅读 · 0 评论 -
C++中的结构体,C管理进程代码,C++管理进程代码,C语言中的联合体
1.C++中的结构体#include structlstruct{ intnum;}; structMyStruct{ intnum; doubledb = 10.8;//可以有默认的值 //MyStruct sx;//拒绝内部定义自己,也原创 2014-08-18 12:40:02 · 1344 阅读 · 0 评论 -
const对象,NULL和nullptr,C++中创建对象数组
1.定义成了const之后的类#include class area{public: int x; int y; mutable int z; //不受const约束的类成员 area() :x(10), y(10), z(2) { } void printxy()const //不可以访问类中局部变量 { z = z + 1; std:原创 2014-08-21 20:37:29 · 2052 阅读 · 0 评论 -
拷贝构造,深度拷贝,关于delete和default相关的操作,explicit,类赋初值,构造函数和析构函数,成员函数和内联函数,关于内存存储,默认参数,静态函数和普通函数,const函数,友元
1.拷贝构造//拷贝构造的规则,有两种方式实现初始化。//1、一个是通过在后面:a(x),b(y)的方式实现初始化。//2、第二种初始化的方式是直接在构造方法里面实现初始化。案例如下:#include//如果声明已经定义,边不会生成class classA{private: int a; int b;public: //拷贝构造原创 2014-08-21 22:38:19 · 2831 阅读 · 1 评论 -
友元
1友元:C++控制类对象私有部分的访问,但有时候需要在类的外部访问类的私有成员,这种情况下C++提供了友元机制。 创建友元函数步骤: A:将函数声明放到类的声明中,并在原型前加上关键字friendfriend返回值函数名称(参数列表);friend classclassname; B:编写友元函数定义,不需要再定义中使用关键字原创 2014-08-11 01:03:41 · 1338 阅读 · 0 评论 -
函数包装器,函数私有类处理
1、函数包装器#include#include //函数包装器//第一,设计执行接口,接口设计关卡(),计数//第二,函数包装器依赖于函数模板,实现通用泛型//第三,函数代码可以内嵌在另外一个函数,实现函数怀孕//函数包装器,用于管理内嵌函数,外部函数调用 //函数包装器, T数据类型, F是函数原创 2014-08-17 00:25:30 · 1032 阅读 · 0 评论 -
文件重定向,getline()获取一样,屏幕输出流,格式控制符dec,oct,hex,精度控制setprecision(int num),设置填充,cout.width和file(字符),进制输入
1.在window下的命令重定向输出到文件中2.将内容输入到某个文件中的方式:命令<1.txt(使用1.txt中的命令)3.读取文件中的名,然后将命令读取最后输出到文件中。命令2.txt 这一句的作用就是将执行的命令输入到2.txt中。4.文件重定向案例1#includeusingnamespacestd;原创 2014-08-27 23:38:56 · 1627 阅读 · 0 评论 -
通过移位的方式实现相加算法
#include //加减乘除,都是靠位运算, //将来从事手机端,嵌入式开发,位操作,classjia;//声明,只能声明指针或者引用 jia *pjia1;jia *&pjia2 =pjia1;//jia& jia2;//jiajia1; //intx=1024原创 2014-08-27 14:16:32 · 4494 阅读 · 0 评论 -
类模板,多种类型的类模板,自定义类模板,类模板的默认类型,数组的模板实现,友元和类模板,友元函数,类模板与静态变量,类模板与普通类之间互相继承,类模板作为模板参数,类嵌套,类模板嵌套,类包装器
1.第一个最简单的类模板案例#include"mainwindow.h"#include#include#include templateclassT> classrun{public: Tw; voidshow() {原创 2014-08-27 14:08:56 · 2594 阅读 · 0 评论 -
类型转换,类与类之间的转换,继承关系,继承与静态变量,子类父类重名,多继承,虚基类
常量的基本类型转换,例如:int num(10.8),这种方式是隐式转换。通过函数的构造函数实现转换。类类转换函数,当构造函数不能将类型转换成基本类型时。所以就有了类类转换函数,通过这种方式。案例:#include class fushu{public: //通过加explicit的这种方式避免隐式转原创 2014-08-27 13:31:40 · 1978 阅读 · 0 评论 -
异型链表
异型链表(每个节点中类型都不相同)案例如下:#include"mainwindow.h"#include#include#include //异型链表 classbase{public: virtual void show()=0;}; class原创 2014-08-27 13:55:17 · 988 阅读 · 0 评论 -
静态联编,动态联编,类指针之间的关系,虚函数与多态性,纯虚函数,虚析构函数
1.静态联编,是程序的匹配,连接在编译阶段实现,也称为早期匹配。重载函数使用静态联编。2.动态联编是指程序联编推迟到运行时进行,所以又称为晚期联编。switch语句和if语句是动态联编的例子。#includevoid go(int num){}void go(char *str){}//class//::在一个类中class A{public: voi原创 2014-08-27 13:52:09 · 1800 阅读 · 0 评论