自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

公众号 tie_kpr

  • 博客(13)
  • 资源 (6)
  • 收藏
  • 关注

原创 输出流效率测试

这个问题Effective STL中有提过。今天编程时由于涉及到输出的效率,加上闲着没事,所以做了这测试。测试对象:1.cout2.ostream_iterator3.ostreambuf_iterator4.printf5.cout.put6.rdbuf()->sputn测试平台:1.6GHz处理器测试代码:#include

2013-01-12 13:30:03 865

原创 VS窗体编辑器中的控件顺序

这几天用VS写window api窗体界面时,遇到了一个问题:后添加进窗体的控件会自动置于之前的控件之上。具体如下:1.添加一个button控件2.再添加一个button控件因为后添加的控件是覆盖之前的控件,所以这时候button2是置于button1之上的。那么如果我想把button1置于button2之上,那该怎么做呢?后来自己试验了一番,发现了

2012-12-17 19:05:33 2473

原创 用&&和||代替if..else..

在C++中,像这样的表达式:expression1  &&  expression2如果expression1的值为零时,整个&&表达式就会结束,也就是说不会再去计算expression2了。&&表达式的这种计算策略,叫作短路求值(More Effective C++中叫作“骤死式”)。其实,如果我们利用这个特性,就可以用&&和||来代替if..else..。 if..else

2012-04-11 13:24:12 2876

原创 在函数内定义“局部函数”

在函数里也能定义函数?呵呵,这当然是不能的,但函数对象却是可以的。如果用旧的方法去定义一个函数对象,那就还要自己先编写一个函数类,这样还不够方便。       但C++11发布后,在函数内简便地定义“函数”(其实是函数对象)就成为了可能:#include int main(){ auto a = [](){std::cout << "Lambda is flexible!"

2012-04-04 11:43:15 7700

原创 关于自定义类型名和函数名相同

以前一直以为,在C++中定义了结构体类型后,可以直接这样用:struct T{};int main(){ T p; return 0;}但今天遇到一个问题,如果代码中还有一个与自定义类型同名的函数,还可以这样用吗?struct T{};void T(){}int main(){ T p; /

2012-04-03 10:56:21 2164

原创 关于DEBUG版程序的检测错误的小技巧

在C++众多函数库中,防止或检测程序出错的库也有几个,例如断言------cassert(立即退出程序),异常-------exception(立即退出某域)等,其中也有一个很适合在调试中找出具体错误的库-------cerrno(仅显示错误信息)。        对于cerrno库,它可以直接显示出错误的原因,而不需要程序员去寻找出错的原因,可参考以下代码: #include #i

2012-03-29 15:59:20 870

原创 向文件写入宽字符

对于向文件写入宽字符,例如中文字符,stl中其实也有一些库是专门针对这个问题而生的。例如wfstream就是其中一个。在这里,我用到了wfstream来使宽字符输出到文件。#include using namespace std;int main(){ wfstream op("test.txt", ios::out); op.imbue((locale)"chs"

2012-03-17 11:30:08 1464

原创 模拟光反射

对于模拟镜面上光反射(即二维),我们可以设镜面为X轴,在镜面上建立直角坐标系。然后,用一个一次函数来表示光的路线。我们设这个一次函数为:y = kx + b 当光线碰到镜面时,则会发生镜面反射。而此时,光的路线就会改变。根据镜面反射的原理,反射角等于入射角。于是,原来的k将变为-k。而b的值也会发生改变。而具体b的值,则必须根据入射点的值去求。我们先设反射后的光线的路线函数为:

2012-02-08 15:49:06 2338

原创 关于BS_OWNERDRAW的用法

BS_OWNERDRAW用于自绘按钮,通常与WM_CTLCOLORBTN消息连用,如下:LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){ static HWND button0; switch (message) { case WM_CREATE: button0 =

2012-02-04 19:37:35 11251

原创 int()的作用

对于int(),相信大家都不陌生吧,最常见就是拿它用作强制类型转换。今天写个关于int()用法的总结。一.用于强制类型转换(返回无名对象)如:#include int main() { std::cout << int(7.8); //输出7} 或#include int main() { std::cout << int(); //输出0

2011-10-22 12:38:09 3897

原创 关于const的位置

如下两段代码:代码一:int main(){ const int a = 1; return 0;}代码二:int main(){ int const a = 1; return 0;} 上面两段代码内容一样,但const 和 int的位置不同。虽然两种都可以,但我更偏爱第二种,因为它可以理解成:成为常量的是int类型的值。在下例中将更明显:

2011-08-19 00:55:09 698

原创 map/set自动排序的陷阱

这里我想用一系列的代码来阐述这个问题.1:请看如下代码:#include #include using namespace std;int main(){ complex a(1, 2); map, int> k; //默认按小于排序 //k[a] = 5; return 0;}以上代码运行正常

2011-08-17 16:34:35 16326 1

原创 关于cin.getline()

在网上查过关于cin.getline()用法之类的文章,也翻阅过不少有关I/O的书籍,我便认为已深刻认识了cin.getline(),但一次意外的使用却使我百思不得其解,请看以下两段代码。 代码1: void main(){    char a[10];    cin.getline(a,10);//输入"123456789"    cout a endl; //输出

2011-04-03 11:28:00 2984 2

逆波兰式计算器

前段时间网页设计的老师叫我们做个简单的网页的计算器,我干脆就做个表达式计算器出来,正好上周的编译原理的课上老师讲了下逆波兰式,于是我就用正则表达式+逆波兰式+css+javascript+html写了这个计算器

2012-11-25

正则表达式+逆波兰式的计算器

用正则表达式和逆波兰表达式来写的表达式计算器

2012-11-23

工资缴税计算器

一年前写的C++大作业程序,留个纪念,呵呵

2012-03-25

字符雨代码(用类实现)

2012 3 18上传,大二下学期. 在网上无意中看到别人编的一个字符雨程序,觉得几有趣,于是就自己编了一个。这个字符雨程序,我用了类来实现,结构看起来或许会清晰一些。

2012-03-18

五子棋(棋力不弱的哦)

算法上比较传统,按照一般思路编的,不过实力挺强……

2011-03-13

c++五子棋源码(加了模拟着手搜索)

加入模拟搜索,键盘输入,我接触C++才一个学期,所以程序不免简陋,不过内有详细注释~

2011-02-15

空空如也

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

TA关注的人

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