自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (14)
  • 收藏
  • 关注

原创 插入排序

// insert.cpp : Defines the entry point for the console application.//当只有一个元素时,元素是有序的。然后插入,比较大小,大者在后。#include "stdafx.h"//第一种方法:templateclass T>void  Insert(T a[], int n, const T& x)...{    for(int 

2006-10-12 17:49:00 745

原创 冒泡排序

// Bubble.cpp : Defines the entry point for the console application.////冒泡排序是对相临元素进行比较,如果左边的元素大于右边则交换,//  这样一直持续下去。#include "stdafx.h"#include iostream>#include algorithm>using namespace std;//第一种方法

2006-10-12 17:36:00 706

原创 选择排序:

 // SelectionSort.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include iostream>using namespace std;templateclass T>void Swap(T& x, T& y)...{    int temp = x;   

2006-10-12 17:07:00 865 2

原创 计算名次排序

 计算名次排序:元数在队列中的名次(rank)可定义为队列中所有比它小的元素数目加上在他左边出现的与他相同的元素数目。比如:给定一个数组a = [4, 5, 7 , 2, 1]作为队列,则各元数出现的名次:r = [ 2,3,4,1,0] 第一种方法:// jisuan.cpp : Defines the entry point for the consol

2006-10-12 01:20:00 1005

转载 为需要动态分配内存的类声明一个拷贝构造函数和一个赋值操作符

 为需要动态分配内存的类声明一个拷贝构造函数和一个赋值操作符 看下面一个表示string对象的类:// 一个很简单的string类class string {public:  string(const char *value);  ~string();  ...                           // 没有拷贝构造函数和operator=private: 

2006-10-10 04:16:00 857

转载 在operator=中检查给自己赋值的情况

 在operator=中检查给自己赋值的情况 做类似下面的事时,就会发生自己给自己赋值的情况:class x { ... };x a;a = a;                     // a赋值给自己这种事做起来好象很无聊,但它完全是合法的,所以看到程序员这样做不要感到丝毫的怀疑。更重要的是,给自己赋值的情况还可以以下面这种看起来更隐蔽的形式出现:a

2006-10-10 00:52:00 902

原创 类的种类及作用

弄清编写的是那种类第一: 值类。如:std::vectior,std::pair,模仿的是内置类型。他有以下特征:Herb Sutter & Andrei Alexandresuc认为有以下特征:1. 有一个公用析构函数,复制构造函数和带有值语义的赋值。2. 没有虚拟函数(包括析构函数)。3. 是用作具体类,而不是基类。4. 总是在栈中实例化,或者作为另一个类直接包含的

2006-10-09 17:40:00 1910

转载 灵巧(smart)指针

            灵巧(smart)指针   灵巧指针是一种外观和行为都被设计成与内建指针相类似的对象,不过它能提供更多的功能。它们有许多应用的领域,包括资源管理(参见条款9、10、25和31)和重复代码任务的自动化(参见条款17和29)  当你使用灵巧指针替代C++的内建指针(也就是dumb pointer),你就能控制下面这些方面的指针的行为:  构造和析构。你可以决定建

2006-10-09 02:25:00 2593 1

转载 写operator new和operator delete时要遵循常规

写operator new和operator delete时要遵循常规 自己重写operator new时(条款10解释了为什么有时要重写它),很重要的一点是函数提供的行为要和系统缺省的operator new一致。实际做起来也就是:要有正确的返回值;可用内存不够时要调用出错处理函数(见条款7);处理好0字节内存请求的情况。此外,还要避免不小心隐藏了标准形式的new,不过这是条款9的话题。

2006-10-09 01:50:00 1171

转载 理解各种不同含义的new和delete

                   理解各种不同含义的new和delete      人们有时好像喜欢故意使C++语言的术语难以理解。比如说new操作符(new operator)和operator new的区别。  当你写这样的代码:  string *ps = new string("Memory Management");   你使用的new是n

2006-10-09 01:09:00 1371

Design Patterns in Modern C

Design Patterns in Modern C++,Design Patterns in Modern C

2018-04-26

Deep Belief Nets in C and CUDA C

Deep Belief Nets in C and CUDA C

2018-04-26

Advanced C and C++ Compiling.pdf

Advanced C and C++ Compiling.pdf

2018-04-26

IOCP_API(2.4)

1. 连接oracle时,目录中不能有()字符,否则ADO是无法连接数据库的 修改: 2.1 去掉TCPChannel的BuildPacket函数,改成直接由OnRecv回调函数返回实际数据 去掉UDPChannel的Response函数,改成直接由内部处理 2.2 修改TCPChannel类,实现同步调用接口 定义IRPC接口用来处理同步调用的被调用端 定义Bind函数用来绑定IRPC接口的实例 定义CallEx函数用来实现用户同步调用 2.3 添加bInit变量,用于设置初始化和关闭状态。 设置此变量的目的主要是用来控制,在关闭了socket之后,后续的任何投递都不执行。 修改了IRPC接口名称为IRemoteProcCall,并且调整了部分结构体名称,如RPC相关的结构体, 组合包相关的结构体,以及P2P相关的结构体。 修改TCPChannel类的接口函数Bind成BindEx,使之与TCPChannel的其他接口统一命名。 修改测试Demo,添加多发选项 修改DataType.h中的内存块大小定义 封装临界区类,信号量类 修改TCPListener接口类中的EnumSockets接口,添加pArg参数 Socket类添加ReUseAddr函数,用来设置端口重用 TCPSocket接口类添加GetListener接口用来获得链接管理对象 修改Demo实例中的TCP客户端部分,增加可更改客户端连接数 2.4 添加UDT支持 修改UDPChannel接口类,添加UDT支持接口函数 添加日志支持 添加接口类ILogger,用来实现对日志的输出 添加x64的编译环境 添加部分WARN级别的日志输出 添加C接口,方便非C++语言应用 UDT添加特性,关闭UDT时,给对端发送断线信息,通知对端断线 UDT提高效率,UDT句柄部分改用读写锁来控制,以提高效率 修改OnSend和OnSendTo的行为 修改过的BUG: 1. 数据发送时,如果数据大小正好是MAX_PACKET_SIZE个字节的话,数据发送不出去,在计算包大小时,边界值没处理好。 2. IOCPUnhandledException函数内部逻辑错误,没有关联到自己的异常处理函数中,导致即使调用成功,程序异常了,也无法写dump文件。 3. 修复IOCP UDP Release模式下不能正常运行的BUG。由于传递的输出参数使用了局部变量导致的问题 4. 修复UDT发送时,计算尾包大小错误 5. 修复UDT快速发送错误 6. 修改Queue关闭时,如果有线程正在等待信号,会导致线程死等

2016-01-01

CppReference.chm

CppReference.chmCppReference.chmCppReference.chmCppReference.chmCppReference.chmCppReference.chmCppReference.chmCppReference.chm.chm

2010-10-17

sqlite语法sqlite语法sqlite语法

sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法sqlite语法

2010-10-16

ps 转 pdf ps to pdf

利用ghostscript的 .dll .lib

2010-09-10

GNU Make 使用手册(中译版)

翻译:于凤昌 译者注:本人在阅读Linux源代码过程中发现如果要全面了解Linux的结构、理解Linux的编程总体设计及思想必须首先全部读通Linux源代码中各级的Makefile文件。目前,在网上虽然有一些著作,但都不能全面的解释Linux源代码中各级的Makefile文件,因此本人认真阅读了GNU Make 使用手册(3.79)版原文,在此基础上翻译了该手册,以满足对Linux源代码有兴趣或者希望采用GCC编写程序但对缺乏GNU Make全面了解之人士的需要。本人是业余爱好不是专业翻译人士,如果有问题请通过电子信箱与我联系共同商讨,本人的E-mail为:yfc70@public2.lyptt.ha.cn 。注意在文章中出现的斜体加粗字表示章节。

2010-08-01

MakeFile教程.pdf

什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。

2010-08-01

GCC_编程简介 (中文版)

介绍 本书的目的是介绍GNU C和C++编译器(gcc和g++)的用法。阅读了本书后,你应该能学会怎样编译一个程序和怎样使用用于优化和调试的基本编译器选项。本书不会教你C或C++语言本身,因为这样的资料在许多地方都能找到(参见【进一步阅读】)。 熟悉其他系统但初次接触GNU编译器的有经验的程序员可以略过本章的前面部分【编译C程序】,【预处理】,【编译C++程序】。本章剩下的部分和其它章节应该能够为已经知道怎样使用其他编译器的程序员提供一个GCC特征的较好的概貌。

2010-08-01

CFront( C++第一个编译器(翻译成C语言) )

c++第一个编译器(翻译成C语言) Release 1.0

2009-03-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除