WUYUANS
Just for Sharing

函数指针总结

最近复习c语言,这里总结一下函数指针。
首先是一般函数指针的定义。
其中两个括号是不可缺少的,(*funcPtr)表明funcPtr是一个指针,(char *, int)表明func是一个函数,函数参数为char *和int,返回值为int。接下来看下一个

阅读全文 2013年09月21日 分类:学习笔记C++

数学表示法

在笔试中有这么一道题目,写出一个表达式的后缀表示形式,当时就迷茫了,什么是后缀表达式,还真没听过。后来查了下原来是一种比较特殊的数学表达式,因为在日常生活中用的不多,不太了解。有三种表达式:前缀表达式、中缀表达式和后缀表达式。一般用的是中缀,比如1+1,前后缀就是把操作符移到前面和后面,下面我就来介绍一下这三种表达式。

阅读全文 2012年10月22日 分类:学习笔记C++C#

c++运算符重载总结

c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效。在c++中不止函数可以重载,运算符也可以重载。由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象之间的。

1.一般运算符重载

在进行对象之间的运算时,程序会调用与运算符相对应的函数进行处理,所以运算符重载有两种方式:成员函数和友元函数。成员函数的形式比较简单,就是在类里面定义了一个与操作符相关的函数。友元函数因为没有this指针,所以形参会多一个。

阅读全文 2012年09月28日 分类:学习笔记C++

华为2013校园招聘上机试题(杭州2012-9-1)

最近华为已经在招聘了,明年的这个时候应该轮到我了,先提前练练。题目是网上找的,也不知道准不准确,一共3个编程题,是提前批的题目。

1.字符串过滤

通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。

阅读全文 2012年09月21日 分类:学习笔记C++

TCHAR,WCHAR,LPSTR,LPWSTR和LPCTSTR

从现在开始要进入嵌入式的开发了,复习一下c语言,先从基本的数据类型开始。TCHAR,WCHAR,LPSTR,LPWSTR和LPCTSTR,这几个看起来差不多,也很容易混淆,他们都是跟字符有密切关系的。要想知道他们的由来以及作用就必须先了解字符的编码。

阅读全文 2012年09月15日 分类:学习笔记C++

关于fread读取的长度问题

在使用fread读取一个位图文件的时候,发现总是无法读取后面的一些字节,观察fread的返回值,并不是正确的读取次数,看来是最后几次读取没有成功。

首先查看是否单次读取超出了限制,这是fread的函数原型:

阅读全文 2012年06月20日 分类:学习笔记C++

malloc/free和new/delete

如果使用堆栈存储和静态存储就能满足应用要求,那么就不要使用动态存储。

内存的分配方式有三种:从静态存储区域分配、在堆栈上分配和从堆或自由存储空间上分配。第三种也叫动态内存分配,相比前两种,动态分配要麻烦,而且更危险,所以尽量不要使用它。

阅读全文 2012年06月13日 分类:学习笔记C++

c语言中常用数据类型的字节数

数据类型的长度跟编译器和系统有关,比如在windows下的32位编译器下的数据类型字节数:

char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节

阅读全文 2012年06月12日 分类:学习笔记C++

Eclipse和vs2010自动排版快捷键

用了这么久vs2010才发现,他也是可以自动排版的。泪奔。。。

VisualStudio2010自动排版快捷键:

全部代码排版:ctrl+E,D 按住ctrl,相继按下E、D 选定代码排版:Ctrl+E,F

vs2010常用快捷键:

Ctrl+Shift+U:变为大写(一般常量都用大写) Ctrl+U:变为小写 Ctrl+J:显示成员列表(光标移到.后面才会显示,不过一般敲完.后会自动出来,修改代码的时候比较有用) Ctrl+.:自动using(光标移到未using命名空间的类上)

阅读全文 2012年04月16日 分类:学习笔记C++C#Java

Ubuntu下Eclipse的配置

最近要学嵌入式,电脑上装了Ubuntu 12.04,gcc的命令行实在用的别扭,于是又装了Eclipse,但死活不能运行,总是有“launch failed. Binary file not found.”的错误。在网上找了一天终于解决了,写出来给大家看看。

首先安装Eclipse,可以到Ubuntu自带的软件中心搜索Eclipse,点击安装就行了。或者进入终端输入:

阅读全文 2012年03月09日 分类:软件学习笔记C++Ubuntu

指针和数组的区别

一说到指针和数组,大多数人都认为两者是等价的,在大多数的情况下,指针和数组可以相互替换着用,但两者还是有很多不同的。
数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。

阅读全文 2012年01月10日 分类:学习笔记C++

c++中的lambda表达式

随着vs2010的推出,c++有了更多的特性,其中最诱人的就是lambda表达式的引入了。lambda表达式也就是匿名函数,和c#中的lambda表达式是同一个意思,不过在c++中他的写法有点不一样,下面我就来介绍c++中lambda表达式的格式。

阅读全文 2012年01月05日 分类:学习笔记C++

指针的引用

MFC真是博大精深,看了下比较复杂的类就快晕掉了,上网查了下才发现是指针的引用。
对于c语言,最最精华的部分就是指针了,然而最难学的也是指针,当然了还有引用。
指针(*)可以理解为指向变量或函数的变量,里面放的是变量或函数的地址。引用(&)的话是变量或函数的别名,没有实际存储空间。

阅读全文 2012年01月02日 分类:学习笔记C++C#

求多边形面积的简单方法

不论凸多边形还是凹多边形,都可以采用向量叉乘的方法来求面积。
向量叉乘的模等于以他们为相邻边的平行四边形的面积。
所以,该两向量组成的三角形的面积为平行四边形的面积的一半。
最后的结果要除以2。

阅读全文 2012年01月01日 分类:学习笔记C++

调用静态链接库lib

接上一篇,完成lib创建后就可以调用他了。
先在项目属性、VC++目录中添加此库文件目录。
然后选择连接器、在附加依赖项中输入factorial.lib。
或者在程序函数体外添加:
#pragma comment(lib,“factorial.lib”)

阅读全文 2011年12月31日 分类:学习笔记C++

创建静态链接库lib

启动VS2010,文件、新建、项目、WIN32项目。 下一步,选静态库,完成。

添加新建项:factorial.h

阅读全文 2011年12月30日 分类:学习笔记C++

调用动态链接库dll

接上一篇,完成dll创建后就可以调用他了。

先在函数外部声明。

阅读全文 2011年12月29日 分类:学习笔记C++

VS2010编译x264(20091006)

H264可以说是现在视频发展的趋势,越来越多的视频舍弃了rmvb投入了H264的怀抱。
我自己压的视频都是用H264编码的,因此想学习H264的编码,当然这里面也有专业的原因。
要想学习H264,第一部就是编译x264。

阅读全文 2011年12月29日 分类:学习笔记C++x264

创建MFC规则DLL

启动VS2010,文件、新建、项目、MFC模板、MFC DLL。
下一步,选择共享MFC DLL,完成。
修改.def文件,添加导出函数名称。

阅读全文 2011年12月27日 分类:学习笔记C++
阅读全文 2011年12月25日 分类:学习笔记C++

WM_MOVING消息没触发的原因

今天编写了一个子窗口随着主窗口移动的程序,其中使用了WM_MOVING消息来获得移动的位置。但在调试的时候这消息一直未触发,在网上找了很久都没找到原因,之后发现是消息定义的类不对。之前我是把WM_MOVING消息定义在视图类的,后来把他换到框架类,此消息就正常触发了。难道是视图类不能处理moving消息?

阅读全文 2011年12月20日 分类:学习笔记C++

更改窗口图标并将其显示在任务栏

以下两个函数可以为应用程序中的各子窗口显示一个任务条到任务栏并更改它们的图标。对那些象QQ一样隐藏主窗口的应用程序特别有用。

阅读全文 2011年12月20日 分类:学习笔记C++
阅读全文 2011年12月19日 分类:学习笔记C++

窗体透明效果

使用SetLayeredWindowAttributes可以方便的制作透明窗体。

阅读全文 2011年12月17日 分类:学习笔记C++
阅读全文 2011年12月17日 分类:学习笔记C++

HDC,CDC,CWindowDC,CClientDC,CPaintDC基础

在c++ 编程中常会见到HDC,CDC,CClientDC,CPaintDC,CWindowDC这样的类。HDC是DC的句柄,API中的一个类似指针的数据类型. CDC是MFC的DC的一个类 CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;即HDC类型的句柄.

阅读全文 2011年12月16日 分类:学习笔记C++
阅读全文 2011年12月14日 分类:学习笔记C++
阅读全文 2011年12月14日 分类:学习笔记C++
阅读全文 2011年12月09日 分类:学习笔记C++
阅读全文 2011年12月09日 分类:学习笔记C++