自定义博客皮肤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)
  • 收藏
  • 关注

原创 MFC学习(3)对话框

因为我看的是别人的文档写的,所以不好意思直接复制粘贴人家的到我的博客上,我也就是标记下哪些地方有那些东西方便自己以后查看而言,如果想自己操作推荐看一下鸡啄米的文档,里面真的说的很详细,基本上都可以做出来属性页对话框及相关类的介绍属性页对话框:属性页对话框就是包含一般属性页对话框和向导对话框两类。它将多个对话框集成于一身,通过标签或按钮来切换页面。属性页对话框

2016-08-31 19:10:57 304

原创 深度探索C++对象模型(1)

没错。。。就是这么爱读书的一只我(我会说是我买多了然后不看觉得可惜吗。。。),但是这本书倒确实是老师一直推荐让看。。。template //重载输出流,我用的不是很熟练刚好看到,温习一下{  os  for(int ix = 0;ix   {      os   }   os   os}关于C++加上封装后的布局成本:关于非静态数据成员直接内

2016-08-30 17:23:31 389

原创 MFC学习:基于对话框(2)

VS2010资料来源鸡啄米如何显示Tab顺序我们先来直观的看看各个控件的Tab顺序吧。打开“Resource View”视图,然后在资源中找到对话框IDD_ADDITION_DIALOG,双击ID后中间客户区域出现其模板视图。在主菜单中选择“Format”->"Tab Order",或者按快捷键Ctrl+D,对话框模板上就会显示各个控件的Tab顺序数字。通过单击

2016-08-30 16:10:31 533

原创 关于深入浅出MFC(1)

博主想做一个游戏程序员,看了看招聘资料,貌似学了MFC有帮助。。然后听人家说深入浅出MFC很不错,所以,就试着学习学习。关于基础:   Windows程序分为"程序代码"和"UI(UserInterface用户接口)资源"两大部分UI资源:功能菜单,对话框外貌,光标图形等Windows程序依靠消息为基础,用事件来驱动。Windows程序的进行依靠外部发生的事件来驱动,核

2016-08-29 21:22:23 566

原创 算法(6):分支限界法

我也在学习中,会尝试一下解决所有问题,所以不定期会更改文章,如果有好的思路的欢迎讨论分支限界法的解题思路:分支限界法类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。区别:回溯法求解目标是找出T中满足约束条件的所有解,分支限界法的求解目标是找出满足约束条件的一个解。回溯法是深度优先的方式搜索解空间树T而分支限界法师广度优先搜索策略:(1)在

2016-08-25 10:59:25 1424

原创 linux下mkdir -v mkdir -p下的经验

mkdir -v:可以用dirent.h的结构体遍历目录看是否已经有了我们要创建的文件,有就不创建,没有就创建别的就小心好 提示信息就好了,要细致的话就要好好考虑所有的可能就好了,也不是很难mkdir -p:有了之前递归拷贝的经验,递归创建真的太太太简单了!反正目录同步就好了这两个功能的实现都不难,唯一麻烦的的就是你要看仔细他们原本的提示信息和错误报告,

2016-08-24 22:43:35 9669

原创 linux下实现cp -r的经验

算法一定用递归    (1)设置两个数组,一个用来存储你递归到那个目录,一个用来存储你拷贝到那个目录(2)拷贝文件很简单,拷贝目录注意第一次拷贝和之后拷贝的差别,我是先创建好,然后再进去(3)要清楚自己走到了那一步,走到了哪个目录(4)要耐心(差点想到爆炸一只我,但是写完发现其实注意上面的就好了)(5)给路径的时候一定要用绝对路径,一定要用绝对路径,一定要用绝对路径重要事情说三

2016-08-24 19:43:04 5576

原创 如何写出高效C++(定制new和delete和杂项讨论)

49.了解new-handle的行为set_new_handler允许客户制定一个函数,在内存分配无法获得满足时被调用。void outOfMem(){  std::cerr  std::abort();}int main(){  std::set_new_handler(outOfMem);  int* pBigDataArray = new int[10

2016-08-20 10:05:39 612

原创 算法:动态规划总结

动态规划和分治的区别:动态规划的子问题不相互独立,分治的子问题相互独立因为动态规划的子问题相互影响,所以为了避免大量的重复计算,我们可以用一个表来记录所有已经解决的问题。设计动态规划算法的步骤:(1)找出最优解的性质,并刻画其结构特征。(2)递归地定义最优值(3)以自底向上的方式计算出最优值(4)根据计算最优值时得到的信息,构造一个最优解关于矩阵连乘问题

2016-08-18 10:57:09 380

原创 如何写出高效C++(继承与面向对象设计)

32.确定你的public继承塑模出is-a关系public继承主张,能够施行于base class对象身上的每件事情,也可以施行于derived class身上。33.避免遮掩继承而来的名称编译器必须实践的名称查找规则:void Derived::mf4(){ ... mf2();...}当编译器看到这里使用名称mf2,必须估算它指涉的是什么东西。

2016-08-16 17:01:43 601

原创 算法:分治总结

分治法的基本思想:把一个规模为n的问题分解为k个规模较小的自问题,这些子问题互相独立且与原问题相同。  一般的算法设计模式: Divide-and-Conquer(P){  if(|P|  Adhoc(P);  divide P into smaller subinstances  P1,P2,...,Pk;  for(int i = 1;i   yi = Di

2016-08-16 11:01:06 598

原创 如何写出高效C++(实现)

26.尽可能延后变量定义式的出现时间你不止应该延后变量的定义,直到非得使用该变量的前一刻为止,甚至应该尝试延后这份定义直到能够给它初值实参位置,好处是不仅能够避免构造(和析构)非必要对象,还可以避免无意义的default构造行为。对于循环而言有如下两个计划A:定义变量于循环外,则一个构造函数一个析构函数和n个赋值操作B:定义变量于循环内,则n个构造函数和n个析构函数除非你知道

2016-08-15 17:11:49 1453

原创 自学java(7)继承:5.2开始

Object:所有类的超类(与C++不同)如果没有明确的指出一个类的超类,那么Object就被认为是这个类的超类。可以使用Object类型的变量引用任何类型的对象缺陷::::::Object类型的变量只能用于作为各种值的持有者,要想对其中的内容进行具体的操作,还需要清楚对象的原始类型,并进想相应的类型转换:Employee e = (Employee) obj;eq

2016-08-13 20:49:58 321

原创 如何写出高效C++(设计与声明)

18.让接口容易被正确使用不易被误用(1)许多客户端错误可以因为导入新类型而获得预防(explicit的作用是防止隐式转换)例如Date(int month,int day,int year);乍看正确,其实不然解决方案是构造如下三类struct Daystruct Monthstruct Year(2)预防客户错误的另一个方法是,限制类型内什么事可做,什么事不

2016-08-13 11:19:22 491

原创 如何写出高效C++(资源管理)

资源定义:所谓资源,就是一旦用了它,将来必须换给系统。常见资源:内存,文件描述器,互斥锁,图形界面中的字型和笔刷,数据库连接以及网络sockets。13.以对象管理资源为了防止内存泄漏(1)可以使用RAII(资源获取就是初始化)对象,它们在构造函数中获得资源并在析构函数中释放资源。                            (2)两个常被用的RAII class

2016-08-12 10:28:09 552

原创 如何写出高效C++(构造/析构/赋值运算)

5.了解C++默默编写并调用那些函数编译器可以暗自为class创建default构造函数(前提是程序员自己不编写任何的构造函数),copy构造函数,copy assignment操作符,以及析构函数。6.若不想使用编译器自动生成的函数,就该明确拒绝如果你想要拒绝一些编译器默认为你生成的函数功能,那么最好的方案就是自己声明他们,但是不给他们定义,然后将他们的权限设置为privat

2016-08-11 11:02:23 419

原创 如何写出高效C++(让自己习惯C++)

1.视C++为一个语言联邦可以将C++视为四个次语言的联邦:(1)C语言(2)Object-Oriented C++(3)Template C++(4)STL例如对内置类型,pass-by-value比pass-by-reference有效,然而对于自定义类型,pass-by-reference-to-const往往更好。2.尽量以const,enum,inli

2016-08-09 10:38:44 810

原创 如何写出高效C++(模板与泛型编程)

对Effective C++读了以后的总结(暑假没事干。。就是看书,从后往前的总结)41。了解隐式接口和编译器多态隐式接口:由一组有效表达式构成,表达式要求了相应的约束条件。显式接口:则是在源代码中明确可见的指出接口的约束条件(比如函数参数的类型)。所谓的编译期多态指的是:以不同的templete参数具现化function templates会导致调用不同的函数,这就是所谓

2016-08-08 17:14:52 1426

原创 计算机网络总结(1)

第一章:1.21世纪的重要特征是数字化,网络化和信息化,他是一个以网络为核心的信息时代。2.网络有三网:电信网络,有线电视网络和计算机网络。3.计算机网络能够提供的最重要的两个功能:(1)连通性(2)共享因特网的概述:网络:网络是由若干个结点和链接这些结点的链路组成。(网络中的结点可以是计算机,集线器,交换机或路由器等)互联网:网络和网络通过路由器互联起来,

2016-08-08 11:22:34 408

原创 自学java(6)继承类,超类和子类

继承:基于已存在的类构造一个新类,继承已存在的类就是复用(继承)这些类的方法和域。在此基础上,还可以添加一些新的方法和域,以满足新的需求,这是java程序设计中的一项核心技术。(is-a)class Manager extends Employee{添加方法和域}关键字extends表示继承,在java中的所有继承都是公有继承。已存在的类称为超类,基类,或父

2016-08-08 10:31:48 1143

原创 自学java(5)

1.包(相当于C++的类名空间但是import的形式你可以就当作是#include来记不过他们有本质的区别)java容许使用包将类组织起来,借助于包可以方便的组织自己的代码,并将自己的代码和别人提供的代码库分开管理。使用包的主要原因是确保类名的唯一性。2.关于包的引用(1)jave.util.Data today = new java.util.Data();(2)im

2016-08-07 10:50:22 239

原创 自学java(4)

java的对象与类面向对象程序设计(OOP)面向对象的特点:将数据放在第一位,然后再考虑操作数据的算法(1)类是构造对象的模板或蓝图。1.类之间的关系依赖(user-a):如果一个类的方法操纵另一个类的对象,我们就说一个类依赖于另一个类。应该尽可能的减少相互依赖的类,也就是说要让类之间的耦合度最小。聚合(has-a):聚合关系意味着类A的

2016-08-03 16:34:05 240

原创 自学java(3)

(1)jave的输入与输出读取输入:要想通过控制台进行输入,首先需要构造一个Scanner对象,并与"标准输入流"System.in关联。Scanner in = new Scanner(System.in);System.out.println("What's your name?");String name = in.nextLine();System.out.prin

2016-08-03 10:26:59 195

原创 自学java(2)

java是完全面向对象的,所以它里面所有的东西都可以看作是对象,他也有自己的编程规范,java应用程序的全部内容都应该放在类里面(1)System.out.println("");可以输出字符串java的通用语法object.method(parameters);(2)一定有一个类名作为开头,然后public static void main(String[] args

2016-08-01 11:20:32 273

原创 面试:C语言C++小知识总结(2)

(1)重写和重载的区别范围区别:被重写的函数和重写的函数在两个类中,而重载和被重载的函数在同一个类中参数的区别:被重写函数和重写函数的参数一定相同,但是重载函数和被重载函数的参数列表一定不同virtual的区别:重写的基类中被重写的函数必须要有virtual修饰而重载函数和被重载函数可以被修饰也可以没有(2)多态实现原理(动态联编实现多态)1.编译器发现一个类中有虚函数

2016-08-01 10:03:57 356

空空如也

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

TA关注的人

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