自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(127)
  • 资源 (12)
  • 收藏
  • 关注

原创 C++你所不知道的sprintf_s与sprintf的不同

sprintf_s 与sprintf的不同只是缓冲区的大小进行了安全处理吗?  NO!int sprintf_s(char *buffer,size_t sizeOfBuffer,const char *format [,argument] ...);int sprintf(char *buffer,con

2013-06-18 11:48:40 61165 5

原创 C++编程思想学习.下卷——异常处理

异常处理增强错误恢复能力是提高代码健壮性的最有力的途径之一。将try块嵌套在for、while、do或者 if快中,并且触发异常来试图解决问题,然后重新测试try块中的代码。1.5 清理(1).资源管理异常处理的魅力之一在于程序能够从正常的处理流程中跳转到恰当的异常处理器中。如果异常抛出时,程序不能做恰当的清理工作,那么异常本身并没有什么用处。编写代码终于到异常时,就应该要注意

2012-10-07 13:29:49 2705

原创 strstr()函数-C语言

包含文件:string.h   函数名: strstr   函数原型:extern char *strstr(char *str1, char *str2);  功能:找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符)。  返回值:返回该位置的指针,如找不到,返回空指针。     #include   #inc

2012-09-20 11:26:23 1595

原创 虚基类、纯虚函数、抽象类

虚基类、纯虚函数和抽象类1、虚基类             在《多继承》中讲过的例子中,由类A,类B1和类B2以及类C组成了类继承的层次结构。在该结构中,类C的对象将包含两个类A的子对象。由于类A是派生类C两条继承路径上的一个公共基类,那么这个公共基类将在派生类的对象中产生多个基类子对象。如果要想使这个公共基类在派生类中只产生一个基类子对象,则必须将这个基类设定为虚基类。

2012-09-17 14:16:05 1894

转载 年薪15万的80后小本科:只要6分钟,告诉你少走6年弯路

年薪15万的80后小本科:只要6分钟,告诉你少走6年弯路 来源: 常立永的日志这个社会是很残酷的,尤其是对于那些刚刚步入社会的80后而言。当很多人都在抱怨这个社会竞争压力太大、没有自己的追求,并因此而丧失斗志的时候,一个年薪15W的80后小本却发出了这个的感慨,“一个人的成就,与岁月无关,与学历无关,与经历有关,最根本决定于经历之后做了什么——有没有去思考、去悟。”作为一名80后,我谨以此

2012-09-12 10:41:21 19995 3

原创 C++中Vector用法

Vector用于存储对象数组常用方法1.push_back   在数组的最后添加一个数据2.pop_back    去掉数组的最后一个数据3.at                得到编号位置的数据4.begin           得到数组头的指针5.end             得到数组的最后一个单元+1的指针

2012-07-28 15:51:11 1262

原创 C++编程思想学习——编程风格

1、  文件的属性以及开始和结束注释标记a)        在每一个文件的头部用注释填写:章节号:文件名,以及该文件所完成的功能。b)       如何一个文件是头文件,则什么也不用做c)       如果这个文件中的程序中不含main()(即,不含主程序的.cpp的文件),这必须与其他部分连接,所以,在注释行的文件名后添加:{O}d)       如果,文件是主程序(含有main

2012-05-22 11:53:46 2568 2

转载 C++精确计算代码执行时间精度微秒级

转自:博客园,作者:薛定谔的猫 http://www.cnblogs.com/liuhao2638/archive/2012/11/13/2768785.html精确计算代码执行时间精确测量一段代码的执行时间1.LARGE_INTERGER类型LARGE_INTERGER是union类型,用于表示一8个字节的有符号整数,定义如下:typedef unio

2013-07-29 19:48:47 11105 1

原创 Windows API获取系统配置文件的配置参数

在Windows平台下获取系统配置文件(如:System.ini)的配置参数。系统配置文件内容如下:[SYSTEM]ServiceIP = 10.128.11.99:60000CommuType = ShareMemory代码如下:包含头文件 Winbase.h (include Windows.h)//GetCurrentPath()函数获取可执行模块

2013-07-19 14:27:58 2891

原创 C++将文件内容一次性读入内存

结合字符串流,将文件中的内容一次性读入内存,代码如下:#include using std::ostringstream;using std::ifstream;using std::string;std::string fileContent;string strFileName="ServiceIpConfig.txt";//文件名字fin.open(strFileName

2013-07-19 11:41:35 7068 3

转载 C++的栈空间和堆空间

一直都把堆栈放一起,所以很多人会误以为他们的组合是一个词语,就像“衣服”一样简单,其实不然,今天在下就将最近学习总结的一些与大家分享。      一个由C/C++编译的程序占用的内存分为以下几个部分:      1、栈区(stack):又编译器自动分配释放,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构的栈。      2、堆区(heap):一般是由程序员分配释放,若程序员

2013-07-17 10:41:39 5333

原创 C++ strcpy strcpy_s strncpy strlcpy

strncpy的用法:它与strcpy的不同之处就在于复制n个字符,而不是把所有字符拷贝(包括结尾'\0')。函数原型:char * strncpy(char *dst,const char * src, int n)  当src的长度小于n时,dst内的未复制空间用'\0'填充。否则,复制n个字符到dst,没有加'\0'。这里就要注意在字符串dst结尾处理加'\0'的情况了strcp

2013-06-19 15:38:51 3580

转载 C++中new与delete问题学习

C++中new与delete问题学习一.new char与delete问题1. 问题程序[cpp] view plaincopy#include     using namespace std;    void main()    {           char* des = new char()

2013-06-14 11:40:56 1347

原创 C++string类型字符串的存储方式

不知道你们有没有看过string类型变量的成员数据,在string变量中好像真正存储字符串的是一个叫_Ptr的指针,它指向string所存储的字符串首地址。当string变量被定义时,如果未初始化,_Ptr就是一个指向NULL的指针,而且_Ptr看起来像一个const char*类型的指针,如果它是一个空串,你无法使用str[0]='w'这样的赋值语句(假设str为string类型)。问题如下

2013-06-05 13:04:30 11779 6

原创 C++Vector的使用误区

初始化vector并传引用到DLL中,DLL中为该引用添加节点,vector内存释放时会报堆栈错误,原因?这个问题其实挺好避免的,说白了就是不要一个模块new,另一个模块delete,不要认为你的vector的节点数据在栈上,vector的本质就是一个变长数组,怎么会在栈上呢,数据肯定是在堆上的,这样你就是在dll中申请的存储,在主程序里面释放的存储,出错很正常。原因简要的分析一下

2013-06-05 10:30:57 5905 1

转载 __declspec(dllimport)和__declspec(dllexport)的区别,以及有关c/c++调用约定

DLL可以使用两种方法将公共符号导入到应用程序中或从 DLL 导出函数: 生成 DLL 时使用模块定义 (.DEF) 文件。 在主应用程序的函数定义中使用 __declspec(dllimport) 或 __declspec(dllexport) 关键字。 使用 .DEF 文件模块定义 (.DEF) 文件是包含一个或多个描述各种 DLL 属性的 Module 语句的文本文件。如

2013-05-14 19:13:18 1261

转载 C++类中调用与成员函数同名的全局函数

c++ 类中的方法调用本类的与全局函数同名的方法如一个类A中有成员函数test1()与test2(),而全局函数中有一个名字也为test1(),这时候若在A的test2()成员函数中调用test1()函数,调用的会是哪个?看例子:void test1(){coutclass A{void test1(){coutvoid te

2013-05-13 19:16:02 8408

原创 C++的qsort函数

1、函数简介功 能: 使用快速排序例程进行排序头文件:stdlib.h用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));参数: 1 待排序数组首地址2 数组中待排序元素数量3 各元素的占用空间大小4 指向函数的指针,

2013-05-11 14:52:53 1950

转载 C/C++中的Split函数—strtok

C/C++中的Split函数是strtok()其函数原型如下: char * strtok (char * str, const char * delimiters); 函数说明 strtok()用来将字符串分割成一个个片段。参数str指向欲分割的字符串,参数delimiters则为分割字符串,当strtok()在参数str的字符串中发现到参数delimiters的分割字符时则会将

2013-05-09 16:56:04 3666

转载 《Windows核心编程》---Interlocked原子访问系列函数

转自:http://blog.csdn.net/ace1985/article/details/5729912所谓原子访问,指的是一个线程在访问某个资源的同时能够保证没有其他线程会在同一时刻访问同一资源。Interlocked系列函数提供了这样的操作。所有这些函数会以原子方式来操控一个值。Interlocked函数的工作原理取决于代码运行的CPU平台,如果是x86系列CPU,那么Int

2013-05-07 16:17:01 910

转载 番茄学习法

转自:http://blog.csdn.net/liutengteng130/article/details/7583044 liutengteng130番茄学习法    在日常学习生活中,时间是有限的,那么效率对我们来说就固然重要了,那么如何提高我们的学习效率呢。番茄学习法是一套简单易行的时间管理方法,进而提高我们的学习效率。1、什么是番茄学习法?一次只做一件事。

2013-05-06 14:20:23 1958

转载 在C++中子类继承和调用父类的构造函数方法

构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法。子类能继承父类的私有成员,但子类函数不能访问,而继承自父类的函数方法是可以访问的)。因此,在创建子类对象时,为了初始化从父类继承来的数据成员,系统需要调用其父类的构造方法。    如果没有显式的构造函数,编译器会给一个默认的构造函数,并且该默认的构造函数仅仅

2013-05-02 19:37:12 1490

原创 C++里面的取整函数

#include double ceil(double x) //向上取整 double floor(double x) //向下取整 也可以用数据类型强制转换,那要看数据的大小 可以用int()或long() 比如int(104.23) = 104

2013-04-23 12:46:38 11248 4

转载 C的位操作

一、传统的C方式位操作:1.基本操作:   使用一个unsigned int变量来作为位容器。2.操作符:|   按位或操作符:result=exp1|exp2;当exp1和exp2中对应位中至少有一个为1时,result中对应位为1,否则为0。&  按位与操作符::result=exp1&exp2;当exp1和exp2中对应位全为1时,result中对应位为1,否则为0。

2013-04-23 11:21:28 908

转载 C++ bitset类的使用与简介

有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(开)的值。位是用来保存一组项或条件的yes/no信息(有时也称标志)的简洁方法。标准库提供了bitset类使得处理位集合更容易一些。要使用bitset类就必须要包含相关的头文件。在本书提供的例子中,假设都使用了std::bitset的using声明:#i nclude using std::bitset;3.5.1  bi

2013-04-23 11:20:23 1223

原创 VC++面向对象的static

面向对象的static关键字  (类中的static关键字)   1、静态数据成员  在类内数据成员的声明前加上关键字static,该数据成员就是类内的静态数据成员。先举一个静态数据成员的例子。   //Example 5   #include   class Myclass   {   public:   Myclass(int a,int b,int

2013-04-22 11:53:13 2325

原创 VC++中面向过程的Static

面向过程设计中的static  1、静态全局变量  在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:  //Example 1   #include   void fn();   static int n; //定义静态全局变量  void main()   {      n=20;

2013-04-22 11:52:10 1520

原创 strcpy_s与strcpy

例子:#include#includeusing namespace std;void Test(void){char *str1=NULL;str1=new char[20];char str[7];strcpy_s(str1,20,"hello world");//三个参数strcpy_s(str,"hello");//两个参数但如果:char *str=new char

2013-04-09 16:17:45 7307

原创 C++ _countf

Windows宏,用来计算一个静态分配的数组中的元素的个数,而sizeof是用来计算字节数。_countof(array);参数array数组的名字返回值array数组中的元素个数备注确保array是一个静态分配的数组,而不是一个指针。如果array是一个指针,在c语言中,_countof 会产生错误的结果;在C++中,_countof 会产生编译错误。所在头文件:

2013-04-09 16:12:01 1019

原创 C++获取计算机主机信息(计算机名称、IP)

#include #include #include #include #include "winsock2.h"#pragma comment(lib,"ws2_32.lib")using namespace std;int main(int argc, char* argv[]){ CString m_IP;//IP地址临时变量 CString m_LocalIP; //

2013-04-08 16:08:17 9575

原创 C++静态成员链接时 "unresolved external symbol " : static "

Why are classes with static data members getting linker errors?Because static data members must be explicitly defined in exactly one compilation unit. If you didn't do this, you'll probably get

2013-04-07 14:41:35 2761

原创 C++ 获取日历时间

获得日历时间  我们可以通过time()函数来获得日历时间(Calendar Time),其原型为:time_t time(time_t * timer);  如果你已经声明了参数timer,你可以从参数timer返回现在的日历时间,同时也可以通过返回值返回现在的日历时间,即从一个时间点(例如:1970年1月1日0时0分0秒)到现在此时的秒数。如果参数为空(NUL),函

2013-04-01 18:09:44 4243

转载 C++类模版的继承

类模板可以继承也可以被继承。 1.在一个类模板中,一个非依赖型基类是指:无须知道模板实参就可以完全确定类型的 基类。 例如: template class Base{ public: int basefield; typedef int T; }; class D1:public Base >{//实际上不是模板 public:

2013-03-19 14:54:32 12769

转载 利用C++模板,代替虚函数实现类的静态多态性及动态继承

熟悉模板编程的朋友或许听到过这个技巧或者模式:Barton-Nackmann 技巧或者称 奇异循环模板模式(Curiously Recurring Template Prattern)。     其实在 《c++ 编程语言》这本bible 书里,在模板那章提到过一个很奇妙的类的实现,用的就是这个技术。当时,我就被C++模板技术叹为观止。近期在学boost库时偶然碰到了这个技巧,同时在写一个类时

2013-03-19 14:45:50 4438

原创 c++ 启动exe(外部程序)

关于三个SDK函数: WinExec, ShellExecute,CreateProcess 的其他注意事项:【1】定义头文件必须定义以下两个头文件:#include  // 可替换为 windows.h#include 如果定义了头文件 #include 的话就不必定义 #include 了。【2】定义路径C++中所表示的路径要用 " // "而不是平

2013-03-06 20:47:49 47365 3

转载 warning LNK4070的解决办法

warning LNK4070的解决办法http://blog.csdn.net/clever101/archive/2010/09/20/5898073.aspx作者:朱金灿来源:http://blog.csdn.net/clever101       重命名了一个MFC常规DLL的工程文件(VS C++ 2005编译环境),结果在编译时出现这样的警告:1>B.e

2013-03-02 21:23:50 4493 1

转载 线程通信-PostThreadMessage

#include   #include   #include   #include   #define UM_MSG1 WM_USER+1  #define UM_MSG2 WM_USER+2  DWORD WINAPI Thread1(LPVOID para)  {            DWORD dwThreadId = *(DWORD *)para;

2013-01-26 21:01:22 1450

转载 Windows消息机制概述

Windows消息机制概述消息是指什么?     消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向 Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。    消息本身是作为一个记录传递给应用程序的,

2013-01-26 20:06:23 793

转载 使用DLL在进程间共享数据

DLL入门浅析(5)——使用DLL在进程间共享数据         在Win16环境中,DLL的全局数据对每个载入它的进程来说都是相同的,因为所有的进程用的都收同一块地址空间;而在Win32环境中,情况却发生了变化,每个进程都有了它自己的地址空间,DLL函数中的代码所创建的任何对象(包括变量)都归调用它的进程所有。当进程在载入DLL时,操作系统自动把DLL地址映射到该进程的私有空间,也就是

2013-01-26 20:02:45 1346

转载 PeekMessage与GetMessage 原型篇

BOOL PeekMessage(     LPMSG lpMsg,    HWND hWnd,    UINT wMsgFilterMin,    UINT wMsgFilterMax,    UINT wRemoveMsg);当消息队列中存在消息时, PeekMessage就返回TRUE, 最后一个参数可以为:PM_R

2013-01-25 15:51:35 965

农场灌溉问题

一农场由图所示的十一种小方块组成,蓝色线条为灌溉渠。若相邻两块的灌溉渠相连则只需一口水井灌溉。给出若干由字母表示的最大不超过50×50具体由(m,n)表示,的农场图,编程求出最小需要打的井数。每个测例的输出占一行。当M=N=-1时结束程序。

2012-11-21

机器学习——SVM向量支持机

机器学习支持向灵机数学模型,包含上课时用的PDF以及PPT文档

2012-05-22

机器学习线性回归模型

机器学习线性回归模型,用梯度下降算法实现的线性回归,logistic回归的模型以及实例分析。包含上课时用的PDF、word以及PPT文档

2012-05-22

机器学习人工神经网络

机器学习:人工神经网络,P神经网络实例分析

2012-05-22

机器学习主成分分析法

机器学习主成分分析法,包含上课时用的PDF以及PPT文档

2012-05-22

机器学习贝叶斯分类器

机器学习数学模型:贝叶斯信念网,贝叶斯朴素分类器 里面包含上课时的PPT,PDF文档

2012-05-22

整数的二分查找 C语言

描述: 给定一个单调递增的整数序列,问某个整数是否在序列中。 输入: 第一行为一个整数n,表示序列中整数的个数;第二行为n(n不超过10000)个整数;第三行为一个整数m(m不超过50000),表示查询的个数;接下来m行每行一个整数k。 输出: 每个查询的输出占一行,如果k在序列中,输出Yes,否则输出No。 输入样例: 5 1 3 4 7 11 3 3 6 9 输出样例: Yes No No

2011-03-11

以标志字符进行字符串逆转 C语言

描述: 将给定字符串中的最后一个小写字母o左边的字符串内容移到该串的右端,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边。输出处理后的字符串。 如果给定字符串中没有小写字母o,则原样输出给定字符串。 输入: 给定字符串(长度小于80)。 输出: 处理后的字符串。 输入样例: You can create an index on any field. 输出样例: n any field.You can create an index 提示: 主函数代码要求如下: int main() { char s[80]; gets(s); CIE_Fun(s); puts(s); return 0; }

2011-03-11

两只船的装载问题 回溯法

描述: 有两艘船,载重量分别是c1、 c2,n个集装箱,重量是wi (i=1…n),且所有集装箱的总重量不超过c1+c2。确定是否有可能将所有集装箱全部装入两艘船。 输入: 多个测例,每个测例的输入占两行。第一行一次是c1、c2和n(n<=10);第二行n个整数表示wi (i=1…n)。n等于0标志输入结束。 输出: 对于每个测例在单独的一行内输出Yes或No。 输入样例: 7 8 2 8 7 7 9 2 8 8 0 0 0 输出样例: Yes No 提示: 求出不超过c1的最大值max,若总重量-max < c2则能装入到两艘船。

2011-03-11

01背包问题 动态规划法

描述: 需对容量为c 的背包进行装载。从n 个物品中选取装入背包的物品,每件物品i 的重量为wi ,价值为pi 。对于可行的背包装载,背包中物品的总重量不能超过背包的容量,最佳装载是指所装入的物品价值最高。 输入: 多个测例,每个测例的输入占三行。第一行两个整数:n(n<=10)和c,第二行n个整数分别是w1到wn,第三行n个整数分别是p1到pn。 n 和 c 都等于零标志输入结束。 输出: 每个测例的输出占一行,输出一个整数,即最佳装载的总价值。 输入样例: 1 2 1 1 2 3 2 2 3 4 0 0 输出样例: 1 4

2011-03-11

归并排序 输入所要排序的整数,进行排序,C语言

描述: 给定一个数列,用归并排序算法把它排成升序。 输入: 第一行是一个整数n(n不大于10000),表示要排序的数的个数; 下面一行是用空格隔开的n个整数。 输出: 输出排序后的数列,每个数字占一行。 输入样例: 5 3 2 1 4 5 输出样例: 1 2 3 4 5

2011-03-11

快速排序 C语言编写

描述: 给定一个数列,用快速排序算法把它排成升序。 输入: 第一行是一个整数n,表示要排序的数的个数;下面一行是用空格隔开的n个整数。 输出: 输出排序后的数列,每个数字占一行。 输入样例: 5 3 2 1 4 5

2011-03-11

空空如也

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

TA关注的人

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