2013年2月27日

strcpy()的实现

摘要: #include <stdio.h>#include <assert.h>char* strcpy(char *strDest,char *strSrc){ assert((strDest!=NULL)&&(strSrc!=NULL)); if(strDest==strSrc) return strDest; char *pDest=strDest; char *pSrc=strSrc; while(*pDest++=*pSrc++); *pDest='\0'; return strDest;}int main(){ char *p... 阅读全文

posted @ 2013-02-27 21:54 sherkey 阅读(115) 评论(0) 推荐(0)

2013年2月26日

利用逆运算的swap

摘要: #include <stdio.h>#include <iostream>using namespace std;void swap1(int &a,int &b){ a=a+b; b=a-b; a=a-b;}void swap2(int &a,int &b){ a=a^b; b=a^b; a=a^b;}int main(){ int a=10; int b=5; cout<<"before swap is a:"<<a<<" b:"<<b<&l 阅读全文

posted @ 2013-02-26 20:28 sherkey 阅读(103) 评论(0) 推荐(0)

引用传参

摘要: 引用就是对象的一个别名,引用必须要初始化,它是返回一个变量的地址里的内容,也就是返回这个变量本身。可以看做就是一个变量,只不过功能更强大了,可以修改了。int x=0;int &fun(int &i){ i=-1; return x;}这里面i的值,x的值由于是引用的形式传递,均可修改。 阅读全文

posted @ 2013-02-26 10:46 sherkey 阅读(110) 评论(0) 推荐(0)

指针的几个注意点

摘要: 指针在声明时要初始化,因为指针在创建的时候不会自动成为NULL,它缺省是随机的的一个地址(野指针)当用malloc或new分配内存,应该判断内存是否分配成功,并初始化内存。如果要用指针做为参数去分配一块内存,应该传递指针的指针或指针的引用。指针在free()之后要指向NULL,不然它的值仍然会指向该内存。如下指针s由于没有重置为NULL,它仍指向该内存。#include <stdio.h>#include <stdlib.h>#include <string.h>void GetMem(char **p,int num){ *p=(char*)malloc( 阅读全文

posted @ 2013-02-26 10:38 sherkey 阅读(244) 评论(0) 推荐(0)

2013年2月8日

一个显示排序过程的网站

摘要: http://www.sorting-algorithms.com/ 阅读全文

posted @ 2013-02-08 15:37 sherkey 阅读(114) 评论(0) 推荐(0)

2012年10月11日

修复grub

摘要: 在重装Windows之后,grub就没了。用一个启动u盘便可修复:sudo -imkdir mntmount /dev/sda2 mntmount --bind /dev/ mnt/devmount --bind /proc/ mnt/procchroot mnt/grub-install /dev/sda 阅读全文

posted @ 2012-10-11 10:37 sherkey 阅读(133) 评论(0) 推荐(0)

2012年9月24日

c 读书笔记

摘要: 关于C的基本知识:sizeof是关键字,不是函数。signed是正负都有,unsigned从0开始。(写的有点的费解,只因不会插入函数。)case后面只能是整型或字符型的常量(常量表达式当然也行)。每个case结尾要break一下,最后必须default一下,即使程序真的不需要default处理。多重循环时,要尽可能的把长的循环放在内部。在C语言里,几是不加返回值类型限定的函数,就会被编译器认为是返回整型。全局变量位于静态区,局部变量位于栈内存,new或是malloc的位于堆中,比较灵活。所以return语句不可返回指向“栈内存”的指针,因为该内存在函数体结束时已经被销毁了。const做为修饰 阅读全文

posted @ 2012-09-24 21:16 sherkey 阅读(140) 评论(0) 推荐(0)

Qt opencv 配置

摘要: Windows平台:1.安装opencv2.qt项目.pro添加:INCLUDEPATH += C:\OpenCV2.1\include\opencvLIBS += C:\OpenCV2.1\lib\highgui210.lib \ C:\OpenCV2.1\lib\cxcore210.lib \ C:\OpenCV2.1\lib\cv210.liblinux 平台:1 用新得利安装opencv。2 用以下命令编辑文件sudo gedit /usr/share/qt4/mkspecs/default/qmake.conf添加以下内容:QMAKE_INCDIR =... 阅读全文

posted @ 2012-09-24 12:50 sherkey 阅读(464) 评论(1) 推荐(0)

导航