自定义博客皮肤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.cout 2.ostream_iterator 3.ostreambuf_iterator 4.printf 5.cout.put 6.rdbuf()->sputn 测试平台: 1.6GHz处理器 测试代码: #include

2013-01-12 13:30:03 976

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

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

2012-12-17 19:05:33 2687

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

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

2012-04-11 13:24:12 3032

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

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

2012-04-04 11:43:15 7909

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

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

2012-04-03 10:56:21 2285

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

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

2012-03-29 15:59:20 990

原创 向文件写入宽字符

对于向文件写入宽字符,例如中文字符,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 1578

原创 模拟光反射

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

2012-02-08 15:49:06 2590

原创 关于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 11585

原创 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 4156

原创 关于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 781

原创 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 16501

原创 关于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 3183

字符雨代码(用类实现)

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

2012-03-18

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

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

2012-11-23

逆波兰式计算器

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

2012-11-25

工资缴税计算器

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

2012-03-25

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

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

2011-02-15

五子棋(棋力不弱的哦)

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

2011-03-13

空空如也

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

TA关注的人

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