自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 类的学习笔记

1.对象、指针和引用的静态类型决定了我们能够使用什么名字的成员,只能使用静态类型及其基类的成员名字。但调用的该名字的成员是动态类型的该成员。2.我们通过panda的对象、引用和指针使用了某个名字,程序会并行的在 Endangered和Bear/ZooAnimal这两棵子树种查找该名字,如果名字在超过一棵子树中被找到,则该名字具有二义性。3.如果某个类在派生的过程中出现了很多次,则派生类中将包含该类的

2017-12-13 22:28:07 165

原创 对象移动

标准库容器、string和shared_ptr类支持移动和拷贝。IO和unique_ptr类可以移动但不可以拷贝。通过&&来获得右值引用,它只能绑定到一个将要销毁的对象。int &rr = i*8; i*8 是一个算数表达式返回一个右值。变量表达式是左值,所以我们不能将一个右值引用绑定在一个右值引用类型的变量上。 int &rr1 = rr; //错误 但是我们可以用标准库中的函数move(在u

2017-11-26 15:10:43 200

原创 从文件中读入矩阵并且写入到另一个文件中

#define M 3#define N 5#define MAX_LENGTH 100int main(){ char line[MAX_LENGTH]; int a[M][N]; char tokens[] = " \n"; char *key; memset(line, 0, MAX_LENGTH); FILE *fp; F

2017-11-21 17:31:29 877

原创 再次学习类的知识笔记

1.当我们定义一个任一种的构造函数的时候,编译器将不会合成默认构造函数。2.含有内置类型和复合类型成员的类应该在内部初始化这些成员,或者自己定义一个默认构造函数,否则编译器合成的默认构造函数很可能会出错。3.如果类含有一个其他类的成员变量,而且这个类没有默认构造函数,那么编译器将不能生成默认构造函数。4.非const对象不能赋值给const对象,但是const对象可以赋值给非const对象。默认构

2017-11-21 17:29:10 212

原创 发送文件中的内容

while(nSize<FindFileData.nFileSizeLow) { char* szBuff = new char[1024]; memset(szBuff,0x00,1024); int nsend = 0; nSend =file.Read(szBuff,1024); Clientsock.Send(szBuff,nSend);//发送数据

2017-11-09 18:54:14 201

原创 向记录文件中写入数据

CString sockfilename;CFile sockfile;sockfilename = "sockfile.txt"; //那其他成员变量必须有默认初始化函数,为什么这里没有赋值宽字符串bool TcpClient::TcpIni(){//---------------------------------------SOCKET环境初始化-------- char

2017-11-08 14:40:38 681

原创 CString 和 char* 互转

CString转char * 代码:CString m_ip = _T("启动成功");CStringA stringaIP;CStringW stringwIP(m_ip);stringaIP = stringwIP;const char *ipbuf = stringaIP.GetBuffer(stringaIP.GetLength() + 1); //m_ip转到了ipbufcha

2017-11-08 10:39:27 324

原创 获取主机IP

//get hostname char hostname[20]; gethostname(hostname,20); //get ipv4 address. hostent *pHost=::gethostbyname(hostname); in_addr addr; char *p=pHost-> h_addr_list[

2017-10-31 14:52:17 248

原创 数字图像处理笔记

第二章除了离散级数以外,量化所能达到的精度还十分依赖于取样信号的噪声。\ 一副图像的坐标张成的实平面部分为空间域,平面数字图像是一个二维阵列,在书中用棋盘格来表示,棋盘格上的每一个点都是一个像素点,是这个二维阵列的点。\ f(x,y)->(x,y,z) z为f(x,y) 这种表示方法是很有用的。\ 在开发算法时,当图像的一部分被打印作为数值分析时,灰度阵列的表示方法很有用。\ 我们常用的L=

2017-10-31 14:38:48 263

原创 什么是回调函数

我们绕点远路来回答这个问题。编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写库;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程序员会给自己写的库留下一些接口,即API(application programming interface,应用编程接口),以供应用程序员使

2017-10-15 11:30:29 191

原创 C++ static内部机制

static的内部机制: 静态数据成员要在程序一开始运行时就必须存在。因为函数在程序运行中被调用,所以静态数据成员不能在任何函数内分配空间和初始化。这样,它的空间分配有三个可能的地方,一是作为类的外部接口的头文件,那里有类声明;二是类定义的内部实现,那里有类的成员函数定义;三是应用程序的main()函数前的全局数据声明和定义处。 静态数据成员要实际地分配空间,故不能在类的声明中定

2017-10-13 10:16:21 419

原创 C++中堆和栈的区别

在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动

2017-10-13 10:15:21 184

原创 算法竞赛学习日记(3)——区间选点问题

数轴上有n个闭区间[ai,bi]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)。 贪心策略: 按照b1<=b2<=b3…(b相同时按a从大到小)的方式排序排序,从前向后遍历,当遇到没有加入集合的区间时,选取这个区间的右端点b。 证明: 为了方便起见,如果区间i内已经有一个点被取到,我们称区间i被满足。 1、首先考虑区间包含的情况,当小区间被满足时大区间一定被满

2017-10-12 10:24:42 354 1

原创 C++存储类型

存储类型和作用域、生存期限、链接类型有着千丝万缕的联系。 存储类型一共有四种 : extern static 为两个永久存储类型 auto register 为两个临时存储类型 (只有变量才有临时生存期限) 默认的全局变量和全局函数为extern存储类型 显示的声明全局变量和全局函数使其具有static存储类型,它们只能被同一个编译单元所调用 局部变量默认具

2017-10-11 09:47:14 840

原创 数据结构学习日记(5)——单链表的代码实现

链表是顺序表的一种,而单链表是链表中最简单的一种,所以单链表的代码实现逻辑还是比较简单的。#ifndef NODE_H#define NODE_H#include <iostream>using namespace std;class Node{public: int date; //数据域这里定为int型 Node *next; // 这里的指针是指向下一个结点的,所以类型

2017-10-09 09:47:10 170

原创 数据结构学习日记(4)——顺序表的代码实现

顺序表示线性表的一种,不像另一种链表那么神秘,顺序表其实离我们很近,它就是一个数组。#ifndef MYQUEUE_H#define MYQUEUE_H#include <stdio.h>#include <stdlib.h>#include <iostream>using namespace std;class List{public: explicit List(int s

2017-10-06 16:24:25 182

原创 数据结构学习日记(3)——环形队列的代码实现

#ifndef MYQUEUE_H#define MYQUEUE_Hclass MyQueue{public: MyQueue(int QueueCapcity); virtual ~MyQueue(); void ClearQueue(); bool QueueEmpty() const; bool QueueFull() const; i

2017-10-05 18:18:55 218

原创 数据结构学习日记(2)——用栈实现括号匹配

关于怎么用代码写一个栈可以看我的数据结构学习日记(1),这里就用那里写下的栈来作为栈类型#include "MyStack.h"#include <iostream>using namespace std;int main(){ MyStack<char> *pstack = new MyStack<char>(40); MyStack<char> *NeedP

2017-10-04 22:15:50 211

原创 数据结构学习日记(1)——栈模板的代码实现

栈的思想在于,着眼于解决刚刚碰到的问题,而将之前碰到的问题先保存下来,放到后面去解决。 比如经典的括号匹配问题就可以用栈来解决。栈模板的代码实现 放在一个头文件中#ifndef MYSTACK_H#define MYSTACK_Htemplate <typename T>class MyStack{public: MyStack(int size);// 复杂对象的栈需要有默认

2017-10-04 20:56:17 167

原创 算法竞赛学习日记(2)——区间问题

在拿到选择不相交区间这个问题的时候,我的第一个想法是不知道如何量化这个问题,或者说不知道如何具体地展开成一种计算问题,有n个开区间就有n+1个点,而且是开区间,相邻区间不会相交,那么只需要将数轴上的所有的点升序排序并且取临点相取不就好了吗?但是知道读到分析之后才明白,原来这个问题的区间是已经划分好了的,是取这些区间的时候不能取到相交区间。数轴区间就必然会有顺序问题,所以一定会用到排序。简单的画一个数

2017-10-01 10:58:37 200

原创 算法竞赛学习日记(1)——“贪心法”

算法是不可能单纯的以方法来概括的,我觉得概括的只是一种人的基本想法而已。对于我这样的算法初学者,在碰到算法编程题的时候不知如何下手,只是有想法寥寥,而不知道应该以何种方法去做下去,所以手足无措。贪心法——只顾眼前的利益,反而得到了最优的解。这本来就是每个人在拿到一个算法题的时候会有的想法,所以归类方法的意义不在于身兼百种方法去一一与题目配对,而在于从一种想法入手,坚持尝试下去,从而真正的尝试出这种想

2017-09-29 22:03:32 258

原创 计算距离系统时间N天前的日期

在我们正在做的铁路项目的删除超时文件的功能中,需要作出超时逻辑来判断遍历到的文件是否为超时文件,从而需要计算距离系统时间N天后的日期。查找资料和改编之后实现了这个小目标。“class Date { private: int year, month, day; void DecDay(); //日期减少一天函数 public: Date(int y, i

2017-09-28 10:38:02 550

原创 删除指定路径下的超时文件和文件夹(目录)

最近在参与铁路项目有关图像拼接超时文件删除,这些资料在各大平台上还是很多的,在搜集了众多资料后一步步实现了最终的目标,这里做个记录:第一步删除超时文件(但是无法删除超时文件夹) 这里只以简单的分钟超时为基准,而没有做过多的超时逻辑。 void CMFCApplication1Dlg::OnBnClickedButton1() { CFileFind ff; CStri

2017-09-25 15:45:23 469

原创 static类成员

全局对象会破坏封装,所以要尽量避免使用全局变量。 static成员函数没有this形参,它可以直接访问所属类的static成员,但是不可以直接访问非static成员。 static成员的三个优点: 1.static成员的名字在类作用域中,因此可以避免与其他类的成员或者全局对象名字冲突。 2.可以实施封装,static成员可以是私有成员,而全局对象不可以。 3.sta

2017-09-20 21:06:27 358

原创 C++类型转换

相比较于内置类型的转换,类类型的转换可能要更复杂一些,先从隐式转换说起。 类类型的隐式转换最直接的就是通过构造函数来隐式转换,当某个函数希望调用的实参是类类型的时候,程序却赋值其他内置类型的实参,那么编译器将自动查找该赋值类型是否有构造函数与之对应。 比如: class hcm { public:

2017-09-20 14:38:08 208

空空如也

空空如也

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

TA关注的人

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