- 博客(57)
- 资源 (28)
- 收藏
- 关注
原创 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 1531
原创 lambada表达式
lambda表达式//C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda的语法形式如下://[函数对象参数](操作符重载函数参数)mutable或exception声明->返回值类型{函数体 } //可以看到,Lambda主要分为五个部分://[函数对象参数]、(操作符重载函数参数)、
2014-08-31 22:24:34 3073
原创 项目优化之:GPU编程
1GPU编程,依赖于显卡2GPU变成依赖于OpenGL和direct3CPU的特点是:频率比较快,GPU的特点是寄存器非常非常的多。4如果电脑是windows7,没法直接调试GPU。Window8可以直接调试5用VS2013新建一个项目,命名:GPU6调试GPU的方式是VS中的:打断点—>运行项目à调试à窗口àGPU线程(通过这种方式实现调试GP
2014-08-31 22:20:10 2316
原创 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 2762
原创 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 1280
原创 STL之stack,queue,优先队列
1.stack,size(),empty(),pop()函数#include#include usingnamespacestd; //通过push()方法入栈//通过size()方法求栈中元素的个数//通过empty()方法判断栈是否为空//通过pop()求栈中最顶端的元素voidmain
2014-08-30 22:47:14 1143
原创 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 1999
原创 C++中多线程
1.多线程多线程案例:#include#include#include#include usingnamespacestd; voidrun(intnum){ Sleep(1000); std::cout "你好天朝" num <<en
2014-08-30 22:20:44 1451
原创 二进制文件读写
1.二进制写入,ios::binary#include#include#include usingnamespacestd; structMyStruct{ char *p = "北京是帝都"; intnum = 20; doubledb =
2014-08-30 22:13:13 1343
原创 文本提取
文本提取A:#include#includeusingnamespacestd; voidmain(){ { charbuf[80]; cin.get(buf, 80);//以回车结束,最大长度为80 s
2014-08-30 22:09:45 1134
原创 文件操作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 5552
原创 istringstream字符串流,实现类似字符串截取的功能,字符串流中的put,str()将流转换成为字符串string
1. istringstream字符串流#include#include#include usingnamespacestd; structMyStruct{ stringstr1,str2,str3; doubledb; intn
2014-08-30 22:04:03 2772
原创 文件重定向,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 1616
原创 通过移位的方式实现相加算法
#include //加减乘除,都是靠位运算, //将来从事手机端,嵌入式开发,位操作,classjia;//声明,只能声明指针或者引用 jia *pjia1;jia *&pjia2 =pjia1;//jia& jia2;//jiajia1; //intx=1024
2014-08-27 14:16:32 4482
原创 override,final的使用,两者都是针对虚函数,也就是说要有virtual关键字
1.override,final的使用,两者都是针对虚函数,也就是说要有virtual关键字#include //C++中的final和override主要是针对虚函数//加了final表示拒绝重写,这是为了使某些情况下,拒绝接口的重写//override,声明重写父类的方法,前提是要有virtual关键字修饰函数。//当父类没有接口
2014-08-27 14:14:12 3187
原创 类模板,多种类型的类模板,自定义类模板,类模板的默认类型,数组的模板实现,友元和类模板,友元函数,类模板与静态变量,类模板与普通类之间互相继承,类模板作为模板参数,类嵌套,类模板嵌套,类包装器
1.第一个最简单的类模板案例#include"mainwindow.h"#include#include#include templateclassT> classrun{public: Tw; voidshow() {
2014-08-27 14:08:56 2584
原创 异型链表
异型链表(每个节点中类型都不相同)案例如下:#include"mainwindow.h"#include#include#include //异型链表 classbase{public: virtual void show()=0;}; class
2014-08-27 13:55:17 980
原创 静态联编,动态联编,类指针之间的关系,虚函数与多态性,纯虚函数,虚析构函数
1.静态联编,是程序的匹配,连接在编译阶段实现,也称为早期匹配。重载函数使用静态联编。2.动态联编是指程序联编推迟到运行时进行,所以又称为晚期联编。switch语句和if语句是动态联编的例子。#includevoid go(int num){}void go(char *str){}//class//::在一个类中class A{public: voi
2014-08-27 13:52:09 1786
原创 类型转换,类与类之间的转换,继承关系,继承与静态变量,子类父类重名,多继承,虚基类
常量的基本类型转换,例如:int num(10.8),这种方式是隐式转换。通过函数的构造函数实现转换。类类转换函数,当构造函数不能将类型转换成基本类型时。所以就有了类类转换函数,通过这种方式。案例:#include class fushu{public: //通过加explicit的这种方式避免隐式转
2014-08-27 13:31:40 1970
原创 拷贝构造,深度拷贝,关于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 2819 1
原创 操作符(++,+,+=,小于号,(),--等)重载
1.操作符(++,+,+=,小于号等)重载新建QT项目,编写头文件#ifndef DIALOG_H#define DIALOG_H#include #includenamespace Ui {class Dialog;}//编写自己的Labelclass myLabel{public: //一定要是共有的,才可以被调用 QLabel
2014-08-21 21:19:16 7807
原创 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 2039
原创 用模板元实现50个台阶问题,一次走一步或者两步或者3步,用模板元实现求裴波那契额数列
1.用模板元实现50个台阶问题,一次走一步或者两步或者3步2.分析由上面分析可以知道,到达N(N > 3)级台阶时的次数为:目标台阶的前3个台阶分别直接到目标台阶的次数总和。3.模板元把在运行时消耗的时间,在编译器键优化。4.通过模板元实现的代码如下:#include /*这里是int 类型的,N表示台阶数量*/template
2014-08-18 14:23:37 1398
原创 C++中的结构体,C管理进程代码,C++管理进程代码,C语言中的联合体
1.C++中的结构体#include structlstruct{ intnum;}; structMyStruct{ intnum; doubledb = 10.8;//可以有默认的值 //MyStruct sx;//拒绝内部定义自己,也
2014-08-18 12:40:02 1334
原创 关于汉诺塔,C++代码,代码效果演算
1.故事介绍汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。2.由来法国数学家爱德华·卢卡斯曾编写过一个印度的古老传说
2014-08-18 12:05:41 2828
原创 求变量的数据类型,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 2305
原创 复杂引用
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 1267
原创 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 3275
原创 函数模板,函数模板重载,可变参数模板,函数模板覆盖,通过引用交换数据
1.函数模板初级,如果想使用模板,需要实例化,实例化的方式是加上数据类型>#include //函数模板可以对类型进行优化重载,根据类型会覆盖//如果仍然要使用模板函数,需要实例化 templateclassT>Tadd(Ta,Tb){ std::cout "T add " <<
2014-08-17 00:28:59 2075
原创 函数包装器,函数私有类处理
1、函数包装器#include#include //函数包装器//第一,设计执行接口,接口设计关卡(),计数//第二,函数包装器依赖于函数模板,实现通用泛型//第三,函数代码可以内嵌在另外一个函数,实现函数怀孕//函数包装器,用于管理内嵌函数,外部函数调用 //函数包装器, T数据类型, F是函数
2014-08-17 00:25:30 1022
原创 引用内部函数绑定机制,R转义字符,C++引用,别名,模板元,宏,断言,C++多线程,C++智能指针
1、引用内部函数绑定机制#include#include usingnamespacestd;usingnamespacestd::placeholders; //仿函数,创建一个函数指针,引用一个结构体内部或者一个类内部的共有函数structMyStruct{ void
2014-08-17 00:18:03 2187
原创 C++中 auto自动变量,命名空间,using作用以及作用域
1.auto关键字的用途A:自动变量,可以自动获取类型,输出,类似泛型B:自动变量,可以实现自动循环一维数组C:自动循环的时候,对应的必须是常量2.auto自动变量,自动匹配类型的案例如下:3.通过auto关键字自动循环一维数组的案例#include#include#includeusing
2014-08-13 23:58:33 3260
原创 C语言文件操作函数的编写
编写文件操作的头文件/**************************************************************************Copyright(C) :2014-08-5 totoFilename :file.hAuthor :涂作权Versi
2014-08-12 19:44:19 1420
原创 简单QT应用到通过手写布局实现QT应用
新建QT项目项目结构:2.打开QT图形编辑界面,通过拖动组件的方式生成如下界面:3.为确定按钮添加事件。选中按钮à转到槽,截图如下:点击clicked按钮,添加事件代码如下: 4下面是手动编写一个QT案例:5.新建QT项目
2014-08-11 01:13:55 3863
原创 友元
1友元:C++控制类对象私有部分的访问,但有时候需要在类的外部访问类的私有成员,这种情况下C++提供了友元机制。 创建友元函数步骤: A:将函数声明放到类的声明中,并在原型前加上关键字friendfriend返回值函数名称(参数列表);friend classclassname; B:编写友元函数定义,不需要再定义中使用关键字
2014-08-11 01:03:41 1333
原创 拷贝构造,操作符重载
拷贝构造#include#include usingnamespacestd; classmystring{public: char*s;public: mystring() { s=newcha
2014-08-11 01:00:23 1241
原创 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 3483 1
原创 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 4070
原创 从简入难makefile文件编写,Linux C++编程,简单vi命令
1.一个最基本的C++程序2.第二个c++程序3.第一个入门级别的简单的makefile4.在makefile中定义变量。5.编写makefile的依赖如果start:标识后面的某个.o没有,则重新编译没有编译的那个文件6.最终的makefile文件总结:makefile是通
2014-08-09 19:04:13 6858 5
原创 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 4359
easyui资料
2014-02-22
17个在线编辑器,包括kindeditor,STEditor,HTMLArea3.0last20071025等
2012-07-22
二手购物网源码
2012-05-31
强大的购物网代码(java)
2012-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人