03 2016 档案

听说alphago又要挑战sc2了?——我眼中的人工智能
摘要:乱谈: 之前alphago进行的围棋比赛相当火爆。 一时间我的朋友圈都爆了,因为同学以及相关专业的同学都在发这个,毕竟逼格一下就起来了,我也大肆转发。各种角度,不同层次的不同深度的文章也都扫了几眼。 刚刚写了关于算法的随笔,所以我对当时一篇关于算法的文章还理解的比较清楚,所以关于这个事儿,我想就“只 阅读全文

posted @ 2016-03-31 08:16 木鸟飞 阅读(347) 评论(0) 推荐(0)

我眼中的算法
摘要:算法一个既熟悉又陌生的词。我曾经很躁动的时候,想去各家应聘或者面试,然后人家问算法你会么?当时听到了,我就蒙蔽了,只能摇头。 天啊,作为接受过本科计算机专业学习的大学生来讲,竟然不知道什么是算法。我好脸红。 那什么是算法呢? 在接触过了一些人,一些事,一些教育之后,加上经常想想到底什么是之后。终于决 阅读全文

posted @ 2016-03-31 07:56 木鸟飞 阅读(255) 评论(0) 推荐(0)

opencv拼接相关1
摘要:这里面都是一些比较杂的东西,没什么实际意义。主要是为了,后面能跑一个程序: Stitcher: 抠细节: http://docs.opencv.org/2.4.2/modules/stitching/doc/high_level.html?highlight=stitcher#stitcher St 阅读全文

posted @ 2016-03-30 19:06 木鸟飞 阅读(2585) 评论(1) 推荐(0)

Cstring到string
摘要:要利用mfc,然后接受一个图片。 imread只能读const string& filename 的东西。 imread 原型: 它的参数: filename —— 文件的位置。如果只提供文件名,那么文件应该和C++文件在同一目录,否则必须提供图片的全路径。 flags —— 有5个可能的输入。 C 阅读全文

posted @ 2016-03-30 18:55 木鸟飞 阅读(1815) 评论(1) 推荐(0)

mfc非模态对话框
摘要:按照我们的之前的做法,先新建工程。 把基本的内容都添加上。 形成这样一个样子: 并且进行试运行,让程序能够完成加法运算。 值的注意的是,静态文本那里要改一下名字,否则无法将成员变量进行添加。 前期准备: 然后就可以开始做我们的非模态对话框了。 一、创建这样一个对话框 到资源视图下面的,找到Dialo 阅读全文

posted @ 2016-03-28 11:22 木鸟飞 阅读(13099) 评论(1) 推荐(1)

mfc模态对话框
摘要:Mfc模态对话框: 创建模态对话框: 【模态对话框:具有独占行为,必须由用户完成对当前对话框的响应,才能对本对话框所属的进程进行其他操作】 例如: 我们创建一个加法计算器。点击计算之后,弹出一个对话框,当用户点击完确定之后。才进行计算,如果点击取消,则不进行计算。 把上次那个反复敲几遍就会啦,我本身 阅读全文

posted @ 2016-03-28 11:18 木鸟飞 阅读(4542) 评论(0) 推荐(0)

mfc简易加法
摘要:利用vs2013只做一个只有加法的计算器: 一、新建项目,然后如下图所示,进行选择,并创建。 二、下一步。 三、选择基于对话框,之后直接点完成 四、在整个编译器的最左边找到工具箱,并点击。 /** 为了适应大家的步伐,我把窗口重置了。就又变回这样了,不过对于讲解来说可能是值得的。如果找不到工具箱的话 阅读全文

posted @ 2016-03-28 09:17 木鸟飞 阅读(1634) 评论(0) 推荐(1)

typeid关键字
摘要:这么看下去太要命了,有太多东西要学了。。。 而且视频看起来的确费神,费脑,费耳朵。 所以决定由视频驱动转向代码驱动。主攻vs,c++然后先把界面东西做出来,然后在想后面的东西。 所以今天 【先上来看了一个关键字, typeid,返回的是动态加载之后的变量或者对象的类型。 我记得跟之前我看到的一个ja 阅读全文

posted @ 2016-03-22 10:54 木鸟飞 阅读(912) 评论(0) 推荐(0)

运算符重载
摘要:new 、delete关键字的重载。 重载new关键字的时候,返回值必须是void *。 并且:第一个形参必须是:size_t . new [] delete[] 关键字的重载, 注:new 的重载与new [] 的重载 并不等价。delete 与delete[] 的重载并不等价。 下图辅助理解,是 阅读全文

posted @ 2016-03-21 14:54 木鸟飞 阅读(375) 评论(0) 推荐(0)

操作符重载引入
摘要:运算符重载之后的代码: 阅读全文

posted @ 2016-03-21 14:48 木鸟飞 阅读(223) 评论(0) 推荐(0)

explicit关键字
摘要:参见: http://baike.baidu.com/link?url=ZdpF1NVfUtlRZHDNbN3RWRjBDzkOSzMWojBJs7RAqVkzVKr8qCC62DhY2FoA7MqopOnG3L13Pi3eARBCLC_QLK 阅读全文

posted @ 2016-03-19 15:00 木鸟飞 阅读(148) 评论(0) 推荐(0)

友元
摘要:main.cpp 运行结果: 阅读全文

posted @ 2016-03-19 14:37 木鸟飞 阅读(160) 评论(0) 推荐(0)

传递的时候尽量传引用
摘要:如果传递对象的效率会低,因为要调用复制构造函数。 传递引用的话,执行效率会很高。 main.cpp TestClass.h TestClass.cpp 阅读全文

posted @ 2016-03-19 14:36 木鸟飞 阅读(317) 评论(0) 推荐(0)

相同代码不同的编译结果
摘要:QT: main.cpp testclass.h: testclass.cpp 运行结果: Vs: main.cpp TestClass.h TestClass.cpp 运行结果: 所以C++是语言,而java是一种产品。 产品的制式应该是有规范可言的。对于语言,不同的厂商在认定过程中,所遵循的标准 阅读全文

posted @ 2016-03-19 14:34 木鸟飞 阅读(563) 评论(0) 推荐(0)

复制构造函数
摘要:主要是想说复制构造函数的,但是偏偏问题就来了。所以还介绍了 passing 'const Student' as 'this' argument of 'int Student::getId()' discards qualifiers [-fpermissive] error:passing ‘c 阅读全文

posted @ 2016-03-18 17:20 木鸟飞 阅读(643) 评论(0) 推荐(0)

c++与c不太相同的一些地方2
摘要:1、一般全局变量放到cpp 文件里面,而不是.h 里面。要不然容易乱套,这个乱几次就好了,先记住这样一种编码规范。 以为大家都引入就比较麻烦,但是实现起来就只有cpp里面才有。毕竟.h是要被包含的文件,使用的时候就有可能会出现问题。 在访问的时候使用extern关键字。 说到extern 就稍微扩展 阅读全文

posted @ 2016-03-18 17:12 木鸟飞 阅读(315) 评论(0) 推荐(0)

c++与c不太相同的一些地方1
摘要:1、c++区别与java的一个地方:C++更多的是一种规范,不同时期的不同标准,提供了不同的语法要求。所以各个厂商在对C++的支持上也做得不尽相同,比如有些语法vs就支持gcc 就支持的差一些,而某些语法gcc支持,在vs上编译就通不过。Java除了语言之外更有一种产品的概念,所以支持规范都向下兼容 阅读全文

posted @ 2016-03-15 21:58 木鸟飞 阅读(1638) 评论(0) 推荐(0)

opencv中的基本拼接
摘要:普通版的图像拼接,事实上非常简单并且效果不很差。 实现方式: 新建工程: 去opencv里面【f:\opencv249\opencv\sources\samples\cpp】把stitching.cpp这个复制进来。 然后很开心的看到小红叉,经过一天的各种错误已经基本上对于各种bug,有一定的免疫能 阅读全文

posted @ 2016-03-15 20:50 木鸟飞 阅读(1008) 评论(0) 推荐(0)

opencv中stitching_detail的运行
摘要:这个拼图并非自带的直接使用sources中的代码。而是把必要的内容放到工程中,改造成自己的图像拼接。参考博文:http://www.tuicool.com/articles/fMbUfaF 该篇博文总体上来讲,很好的指导了思路,但是在尝试的过程中屡次碰壁。所以现在就来把整个搭建过程再来复述一遍。 希 阅读全文

posted @ 2016-03-15 13:10 木鸟飞 阅读(4314) 评论(7) 推荐(0)

配置opencv
摘要:先把opencv配置起来: 详细参见: http://blog.163.com/chen_dawn/blog/static/1125063201461695238801/ 我的机器的配置方法:   先去环境变量那里配置path: 新增: F:\opencv249\opencv\build\x64\v 阅读全文

posted @ 2016-03-15 11:15 木鸟飞 阅读(3744) 评论(0) 推荐(0)

利用QT开发一个记事本
摘要:区别于之前创建爱的各个工程,这次我们在这里选择基类为QMainWindow。 然后默认目录就是 直接到对应文件中进行代码的书写: main.cpp: #include "mainwindow.h" #include <QApplication> int main(int argc, char *ar 阅读全文

posted @ 2016-03-12 12:53 木鸟飞 阅读(4316) 评论(0) 推荐(0)

文件加密二进制版本
摘要:这个 还希望如果有高玩的话,帮忙看一下,不知道为什么实现不了非文本文件的加解密。 我觉得问题就在下面标红加下划线的地方。分别在 code.c 跟 decode.c里面。 main.c #include <stdio.h> #include <string.h> #pragma warning(dis 阅读全文

posted @ 2016-03-07 22:24 木鸟飞 阅读(920) 评论(0) 推荐(0)

文件复制二进制版
摘要:两种复制方式: FILE *src = fopen("src.txt","r"); FILE *dest = fopen("dest.txt","w"); Char buf[1024]={0}; While(!feof(src)){ Size_t size = fread(buf,1,sizeof( 阅读全文

posted @ 2016-03-07 22:20 木鸟飞 阅读(965) 评论(0) 推荐(0)

C语言里的文件函数
摘要:1、File *pf = fopen("文件名","打开方式"); 文件名可以加路径,两个"\\"或者一个"/" 打开方式有这么几种:r只读,r+可读可写,w只写,w+可读可写,会覆盖。a追加,a+可读可写。 2、对于windows系统来讲,都可以带上b,因为在windows系统下,还是有这个区分的 阅读全文

posted @ 2016-03-07 22:14 木鸟飞 阅读(472) 评论(2) 推荐(0)

文件加密2——基础版(限文本)
摘要:这个就比上一个版本简单很多。 并且每次操纵的也都不是一行。 而是每次一个字符,这样效率就比较低并且编码方式 也是采用每次就加那么一个固定写死的字符。就比较坑。。。 #include <stdio.h> #include <stdlib.h> #include <string.h> #define M 阅读全文

posted @ 2016-03-05 22:31 木鸟飞 阅读(280) 评论(0) 推荐(0)

文件加密——可执行,较复杂的抽取(限文本)
摘要:一个简单的文件加密程序、、、还蛮有意思的用C语言写的。 最后一个参数 是当前字符加上一个输入者指定的数字,构成一个新的字符。 效果图: 参数输入方式: #include <stdio.h> #pragma warning(disable:4996) #define MYKEY 6 void read 阅读全文

posted @ 2016-03-05 22:26 木鸟飞 阅读(607) 评论(0) 推荐(0)

typedef的使用3——使用经过typedef定义的函数构成的函数数组
摘要:#include <stdio.h> #include <string.h>//不加还能跑,加上反而跑不了了。。。笑哭 #pragma warning(disable:4996)//要这句跟上面那个包含放在一起。否则会有一个警告阻止编译。 //字符串拷贝函数: const char * myStrc 阅读全文

posted @ 2016-03-04 20:51 木鸟飞 阅读(624) 评论(0) 推荐(0)

typedef的使用2——定义函数
摘要:#include <stdio.h> #include <string.h> #pragma warning(disable:4996) //闲言碎语都先不要讲了,直接上函数吧。字符串拼接函数 const char *myStrcat(const char *, const char *); //m 阅读全文

posted @ 2016-03-04 20:48 木鸟飞 阅读(1364) 评论(0) 推荐(0)

typedef的使用1——引入
摘要:#include <stdio.h> #include <string.h> //#define _CRT_SRCURE_NO_WARNING #pragma warning(disable:4996) typedef unsigned int uint; typedef unsigned char 阅读全文

posted @ 2016-03-04 20:47 木鸟飞 阅读(436) 评论(0) 推荐(0)

C语言枚举
摘要:应该是 各种语言都支持枚举的。 所以这个 之前在我们java案例里面就出现过的季节代码再次出现了。 枚举帮我们起到一个变量值,在某一范围内的限定,用来避免一些非法值的键入。 值得注意的是,这里面的枚举变量可以赋初值。 但是感觉会出问题。 就是每一个枚举中的值,都有一个非负整数与他对应。 例如我们的季 阅读全文

posted @ 2016-03-04 20:45 木鸟飞 阅读(1887) 评论(0) 推荐(0)

联合体以及如何调出内存窗口
摘要:联合体相关: 其实联合体这块儿基本上跟struct用法是相同的,只不过联合体这里公用一块内存。 为了合理演示其所有内容,需要调用一个内存窗口。这个在查找的时候还是费了一些功夫的。来分享一下。 这样直接执行根本看不到具体的执行过程。 可是怎么才能看到 他们共用一块内存呢? //从当前窗口是没有办法查看 阅读全文

posted @ 2016-03-04 20:43 木鸟飞 阅读(366) 评论(0) 推荐(0)

利用C语言结构体模拟一个简单的JavaBean
摘要:利用C语言模拟一个Javabean 仅封装了,“无参构造函数”,“带参构造函数”,"toString方法" #include <stdio.h> struct User{ int ID; char *name; char *password; int age; }; void newUser(str 阅读全文

posted @ 2016-03-03 22:31 木鸟飞 阅读(680) 评论(0) 推荐(0)

结构体赋值
摘要:#include <stdio.h> struct student{ int ID; char name[48]; int age; }; int main(){ struct student s1 = { 1, "lifei", 24 }; struct student s2; s2 = s1; 阅读全文

posted @ 2016-03-03 22:27 木鸟飞 阅读(665) 评论(0) 推荐(0)

C语言结构体赋值2
摘要:#include <stdio.h> /** 上一个版本的name是固定大小的,不好,这次换用 *name然后 采用 堆的方式申请内存,起到用到少拿多少的一个方式。 */ struct student{ int ID; char *name; int age; }; struct test{ cha 阅读全文

posted @ 2016-03-03 22:27 木鸟飞 阅读(451) 评论(0) 推荐(0)

结构体所占内存大小
摘要:结构体所占内存大小划分原则: 1、划分字节,按照当前结构体中,字节数最大的类型作为划分单元。【这里面还有一些前提。下面的例子会详细说到】 2、以矩形块儿的形式划分。 /**划分示意图: 最小单元是 double所以 这个 地方按照8个字节作为最小单元来划分。 */ /**划分示意图: 最小单元不能是 阅读全文

posted @ 2016-03-03 22:26 木鸟飞 阅读(708) 评论(0) 推荐(0)

C语言结构体的引入
摘要:#include <stdio.h> struct student{ int ID; char name[48]; int age; }; int main(){ //赋值: struct student s1 = { 1, "lifei", 24 }; struct student s2 = { 阅读全文

posted @ 2016-03-03 22:23 木鸟飞 阅读(355) 评论(0) 推荐(0)

堆的申请和释放2
摘要:我们说过,buf 是栈区中的一个内容。 当func1被调用。 执行Char buf[10]="nihao";的时候。 Buf进栈,并被赋值。 当程序结束的时候返回了一个指向buf的地址。的同时buf出栈,里面的内容可能还在,也可能不在。但是给p的地址确实是,当初分配给他的地址。只不过现在指向了新的内 阅读全文

posted @ 2016-03-02 22:03 木鸟飞 阅读(238) 评论(0) 推荐(0)

堆的申请和释放
摘要:#include <stdio.h> void func1(void); void func2(void); void func3(void); void func4(void); int main(int argc, char ** argv){ func4(); getchar(); retur 阅读全文

posted @ 2016-03-02 22:01 木鸟飞 阅读(604) 评论(0) 推荐(0)

C语言内存四区
摘要:按照老版操作系统来学习,内存对于程序来讲分四区。分别是 代码区,静态区,栈,堆。 由上面程序执行的结果可知: 貌似结果就是 静态代码堆栈 静态区存放的是程序中所有静态变量和常量的值。静态区的大小是程序加载到内存之后就固定的,不会再发生改变。 代码区中存放的是程序中的代码,不能修改它的值,只能通过指针 阅读全文

posted @ 2016-03-02 21:58 木鸟飞 阅读(2335) 评论(0) 推荐(1)

C语言内存管理
摘要:作用域: 1、代码块儿作用域: 注意的是:这里面{}就代表一个代码块儿,里面的东西是独立的,不可被其他地方访问的。 2、函数作用域 3、文件作用域 先提一下 在当前有一个文件,main.c 还有一个文件比如叫做a.c 这个东西就属于文件作用域了,左边有一个变量叫做mainiii=0 在a.c里面有一 阅读全文

posted @ 2016-03-02 21:53 木鸟飞 阅读(518) 评论(0) 推荐(1)

主函数参数
摘要:#include <stdio.h> int main(int argc,char *argv[]){ int i = 0; for(;i<argc;i++) { printf("%s\n",argv[i]); } getchar(); return 0; } void func(int a,cha 阅读全文

posted @ 2016-03-01 10:08 木鸟飞 阅读(1048) 评论(0) 推荐(0)

数字转化成字符串C语言
摘要:#include <stdio.h> void Myitoa(int,char *); int getnumberLength(int); int main(){ char buf[10]; int i = 510345; Myitoa(i, buf); printf("%s", buf); get 阅读全文

posted @ 2016-03-01 09:46 木鸟飞 阅读(326) 评论(0) 推荐(0)

字符串指针
摘要:#include <stdio.h> #include <string.h> void primaryPart(void); void myStrcpy(char *destination, const char *resource); void myAStrcpy(char *destinatio 阅读全文

posted @ 2016-03-01 09:45 木鸟飞 阅读(366) 评论(0) 推荐(0)

导航