自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

stpeace的专栏

涛哥不知何许人也,亦不详其姓字。好读书,求甚解。常著文章自娱,颇示己志。忘怀得失,有始有终......

原创 STL中的queue

直接上菜: #include #include using namespace std; int main() { queue q; int i = 0; for (i = 0; i < 5; i++) { q.push(i + 1); // 由于只能在一端进行操作, ...

2014-12-30 00:13:54

阅读数 5867

评论数 0

原创 STL中的deque介绍--- double-ended queue

deque即双向队列(double-ended queue),是一种在两端开口的连续线性空间,可以高效的在头尾两端插入和删除元素。 在deque中, 我们要尽量避免erase队列中间的元素, 这样效率低。 要erase怎么办? 还是用list吧。 不多说, 来认识一下deque: #includ...

2014-12-29 00:11:45

阅读数 6720

评论数 0

转载 腾讯15年间打败的竞争对手

转载地址:http://www.hnchain.com/news-90152.html     任何科技行业的领导企业,最大的竞争力必然是创新能力,一旦失去这种能力,失败就将不可避免。腾讯亦然。很多童鞋看到这里大概会发出一声冷笑:“腾讯不是只会抄袭?”     但是一家生于草莽,没有爹,...

2014-12-28 13:15:54

阅读数 7430

评论数 2

转载 葵花宝典混华为(纯粹转载, 笑而不评)

只从天涯论坛转载, 不加任何评论和说明。 转载地址:http://bbs.tianya.cn/post-516-48355-1.shtml         除了没有国有股,华为就是个国企,盗亦有道,做个小偷都得有三项纪律八大注意,混国企当然有混国企的不二法则,此宝典总结前辈成败得失,对于老家伙...

2014-12-28 12:58:48

阅读数 6545

评论数 0

原创 如何在VC++6.0中设置条件断点?--- 某公司实习生招聘面试试题

曾经玩过条件断点, 但是, 许久不用, 也就忘了, 后来, 在一次面试中, 碰到了这个问题, 当时答得不太好。 下面, 我们来一起看看(以VC++6.0为例):         假设程序为: #include using namespace std; int main () { int i ...

2014-12-28 00:16:13

阅读数 6422

评论数 0

原创 STL中的list小结(面试被问过)

多年前, 去某公司面试, 被问过list和vector, 鉴于之前我们学习过vector, 在本文中, 我们只简要介绍一下list.  我不打算全面介绍list, 因为那是手册应该做的, 下面, 让我们来窥探一下与list相关的小程序吧: #pragma warning(disable: 4786...

2014-12-27 22:59:13

阅读数 6037

评论数 0

原创 某手机厂商是否应该尝试这样去定位手机开机卡死的低概率问题?

买了某厂商的手机, 用着其实还蛮不错, 但会出现低概率开机卡死的问题, 或许是职业习惯的原因, 打算就此时小小地写一下。        低概率问题, 很不好重现和定位, 但又不能忽视。如果死机出现的概率为1/100, 那么100w台手机, 也会有10000太手机有问题, 用户肯定在网上炸开了锅...

2014-12-26 23:53:36

阅读数 5919

评论数 0

原创 如何在程序中打开.mp3, .exe, .chm文件? ---介绍一下ShellExecute的用途

下面, 我们看看ShellExecute的重要用途, 用它来打开.mp3, .exe, .chm, 当然啦, 在当前工程中必须有这些文件。 #include int main() { ShellExecute(0, 0, "beauty_voice.mp3", 0, 0,...

2014-12-26 22:59:04

阅读数 6563

评论数 0

原创 如何利用多线程写一个简单的定时器?

先来看一个简单的程序, 实现一个定时器来定时调用test函数: #include #include using namespace std; void test() { cout << "test" << endl; } DWORD WINAP...

2014-12-26 00:28:11

阅读数 7676

评论数 0

原创 SetTimer设置后没法调用定时器函数(回调函数)吗?

       我们先来看一个简单的程序:#include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; void myTimerProc(HWND hwnd, UINT uMsg,...

2014-12-25 23:50:53

阅读数 9086

评论数 2

原创 C++对象切片和对象切片的阻止(纯虚函数让编译器强迫程序猿修改有对象切片的代码)

下面, 我们来看一下C++中最简单的多态程序: #include using namespace std; class Animal { private: int weight; public: virtual void eat() { cout << "ea...

2014-12-24 00:14:04

阅读数 6619

评论数 0

原创 delete void*形式的指针是非常危险的

先看一个程序: #include using namespace std; class A { public: A() { cout << "constructor" << endl; } ~A() { cout <<...

2014-12-23 00:13:35

阅读数 5881

评论数 0

原创 (this->*p)();的理解

下面的程序是很常见的, 来熟悉一下: #include using namespace std; class A; void (A::*p)(); // 指向类的成员函数 class A { void print() { cout << "hello world...

2014-12-22 23:52:36

阅读数 5914

评论数 0

原创 代码写在一行不方便单步调试

先看看示例: #include using namespace std; int main() { if(0) cout << 0 << endl; return 0; }      这个时候, 在if处下一个断点, 单步调试的时候, 根本就不知道if里面的表达...

2014-12-22 23:24:14

阅读数 6105

评论数 0

原创 获取操作系统启动到现在的时间---GetTickCount

直接上代码: #include #include // for GetTickCount #include // for Sleep int main() { int start = GetTickCount(); printf("%f\n", start / ...

2014-12-21 21:55:47

阅读数 11554

评论数 0

原创 利用gethostname获取主机名

直接上菜: #include #include #pragma comment(lib,"ws2_32.lib") // 静态库 int main() { WORD v = MAKEWORD(1, 1); WSADATA wsaData; WSAS...

2014-12-21 21:54:39

阅读数 6048

评论数 1

转载 正确计算linux系统内存使用率 (我今天刚好碰到这个问题, 故转载一下)

测试同事提了一个问题单, 错误地理解了内存使用率, 下面我们来看看正确的理解。          转载地址:http://www.sealinger.com/archives/406/              作者: sealinger  时间: July 8, 2012  分类: 都学...

2014-12-19 00:37:01

阅读数 7032

评论数 0

原创 不区分大小写的strCaseStr---改造strstr

直接上菜: #include using namespace std; char *strCaseStr(const char *str1, const char *str2) { if(NULL == str1 || NULL == str2) { return NULL; } ...

2014-12-19 00:23:49

阅读数 7951

评论数 0

原创 C/C++库函数: 将字符串转换成小写strlwr/大写strupr(我很少用, 所以记录一下)

#include using namespace std; int main() { char szTest[] = "abC"; cout << strlwr(szTest) << endl; cout << szTest <...

2014-12-18 23:50:07

阅读数 12328

评论数 0

转载 什么是数字签名和数字证书(好清楚, 赞一个)?

原文地址:http://www.youdzone.com/signature.html         翻译地址(阮一峰):http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html         超赞

2014-12-18 00:18:50

阅读数 6372

评论数 0

原创 “救命的” svn up -r xxx

某某说, 大家要经常更新代码, 以便尽早发现配置库中代码的异常。  我们知道, 当项目组人数稍多, 提交代码时候,如果没有遵循严格的本地构建, 势必会将错误代码提交到配置库中, 或者漏提交一些文件。 事实上, 大家也经常搞错, 配置库中的代码也经常有问题, 这样的话, 如果常常更新, 错误的代码就...

2014-12-18 00:17:31

阅读数 7500

评论数 0

原创 Windows添加路由:route add 173.18.18.0 mask 255.255.255.0 172.18.18.1

添加路由是基本技能, 假设自己网关是172.18.18.1, 要访问别的同事的173.18.18.222的pc, 但是又ping不同, 这时候同事说, 你加个路由吧。  好, 那就在cmd中加吧, 加了之后就能ping通过了, 基本技能, 聊作记录:route add 173.18.18.0 ma...

2014-12-15 23:25:58

阅读数 37389

评论数 0

原创 理解一下指针数组和二维数组

#include using namespace std; int main() { int a[] = {1, 2, 3}; cout << sizeof(a) << endl; // 12 cout << sizeof(a[0]) <<...

2014-12-14 22:09:56

阅读数 5889

评论数 0

原创 如何利用openssl来进行base64编解码?

openssl的用法, 请见之前博文, 下面仅仅给出base64编解码的代码: #include #include #pragma comment(lib, "libeay32.lib") #pragma comment(lib, "ssleay32.lib&q...

2014-12-14 16:13:25

阅读数 9129

评论数 2

原创 如何利用openssl来计算md4, md5, sha1, sha256, sha384, sha512等常用哈希值?

openssl的库的用法, 前面已经介绍了, 所以不再啰嗦, 直接给出代码: // openssl的库的用法, 前面已经介绍了, 所以不再啰嗦, 直接给出代码 #include #include #pragma comment(lib, "libeay32.lib") #...

2014-12-14 13:29:34

阅读数 12035

评论数 2

原创 VC++6.0环境下利用openssl编程入门(以计算md5值为例)的全解析------openssl库直接给大家弄好, 省得麻烦大家去编译

做软件开发的人, 基本都应该听说过大名鼎鼎的开源软件openssl, 下面, 我们来入门openssl编程吧。 初学者如果想了解openssl编程, 最不喜欢是: 还没有懂怎么利用openssl写代码, 不得不学openssl本身的编译。 在本文中, 我直接省略如何编译openssl这个过程, 直...

2014-12-14 02:24:37

阅读数 15422

评论数 24

原创 BCB对如何操作ini文件?

.ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置,在实际开发中, ini文件的应用也是非常广泛的。      下面来利用BCB来操作一下ini文件: //-------------------...

2014-12-14 00:08:06

阅读数 8961

评论数 0

原创 BCB如何获取.exe所在的路径?

直接上代码: //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" //-----...

2014-12-14 00:06:16

阅读数 8499

评论数 0

原创 什么是缓冲区?

缓冲区, 说白了, 就是一个中介。 比如你要租一个房子, 刚好房子的主人也要出租房子, 你们可以直接联系, 但问题就在于: 房子的主人可能没有时间和你扯太多, 你也没有时间和房子的主人扯这扯那, 这个时候, 中介产生了。 中介有时间和你扯皮, 中介和房子的主人也提前沟通好。         在上...

2014-12-12 23:04:37

阅读数 7976

评论数 0

原创 某设备sftp client不能向sftp server传递文件的"bug"的定位过程(碰到过2次以上)

某设备往sftp server上传文件的功能一直很正常, 但是, 测试的同事发现, 在她那里, 某设备无法往sftp上正常地传文件, 叫我过去现场确认一下。 我知道, 这个功能一直是ok的, 为什么现在不ok了呢? 现场去确认了一下, 发现还真是问题。 这个时候, 我没有说, 那你先提单吧! 因为...

2014-12-07 22:00:31

阅读数 6231

评论数 0

原创 客户端连不上服务端的"bug"定位过程

测试同事反馈, 某客户端连接不上某服务端, 准备提单(问题单), 但还是让我去现场确认一下。 我去一看, 发现客户端ping不通服务端, 那自然是没法连接啦。 一看, 是网线松动了。 算好让我去看看啊, 否则又要提一个无法重现的问题单或者是低概率问题单(通常把人搞得半死不活)。         在...

2014-12-07 21:17:10

阅读数 6641

评论数 0

原创 多线程环境下安全的消息队列存取---利用信号量

前面几篇博文中, 我们一直在讨论异质链表消息队列问题, 在本文中, 我们继续来探讨这一问题, 在多线程环境下, 考虑线程同步问题, 代码如下(我用Sleep(20);来故意捣乱): #include #include using namespace std; #define Rectangl...

2014-12-06 00:59:51

阅读数 7610

评论数 0

原创 多线程环境下不安全的消息队列存取---线程不同步会造成隐患

前面, 我们把消息队列存取都放在主线程中, 而在实际应用中, 很多时候, 存消息队列在主线程, 取消息队列在其他线程(如网络线程)。 下面, 我们将之前的程序改为多线程程序: #include #include using namespace std; #define Rectangle M...

2014-12-06 00:17:31

阅读数 7870

评论数 0

原创 加上#include<windows.h>后出现的奇葩错误

先来看一个没错的程序: #include using namespace std; struct Rectangle { int width; int height; }; int main() { Rectangle rect; return 0; }       加上#inc...

2014-12-04 23:47:23

阅读数 11260

评论数 0

原创 基类的虚函数没有实现而引起的错误

先看一个错误的程序: #include using namespace std; class Basic { public: virtual void fun(); }; class A : public Basic { public: void fun() { cout &l...

2014-12-04 23:24:27

阅读数 6290

评论数 1

原创 将消息推入消息队列并从消息队列中取出------利用异质链表和C++的多态性

前面我们介绍了异质链表, 现在, 我们继续来深究其应用, 我们可以把Integer,  Point, Rectange的对象看成是包装好的消息, 下面我们来看看如何将消息塞入消息队列, 并从消息队列中取出。 顺便说一下, 消息队列在实际开发中是非常常见的, 我们经常需要把任务推入消息队列、从消息队...

2014-12-04 23:10:39

阅读数 6627

评论数 0

原创 看到这种单例, 也是醉了

好吧, 第一次见这种单例, 来瞧瞧: #include using namespace std; class A { private: A() // 之所以设置为private, 是因为为了防止外部直接生成对象 { cout << "A&qu...

2014-12-03 22:33:24

阅读数 5807

评论数 0

原创 从公司回来忘带手机没有闹铃明早起来不了该怎么办?--- 花5分钟用ShellExecute写个闹铃即可!

从公司回来, 忘记带手机, 又没有闹铃, 明天起来不了, 咋办? 回公司去取手机? 不想去。 在楼下买个闹钟? 觉得没必要。 好吧, 写个简单的C语言程序, 在睡觉的时候把它跑起来即可, 我刚验证了一下, 没啥问题 #include int main() { int i = 0; for(...

2014-12-03 22:14:32

阅读数 6574

评论数 2

原创 答辩周年记------与刚入职场/即将答辩的程序猿们共勉

每个公司的制度、运作、规模、文化、氛围等各方面都不尽相同, 所以在本文中, 我也不以偏概全, 仅仅根据自身的经历来谈一下试用期的相关事情。我司的正规流程是6个月的试用期, 我在入职后四个月参加答辩, 第五个月转正。 从去年答辩到现在, 刚好一周年, 若有所思, 于是挥笔写一篇自己的感受, 与各位职...

2014-12-03 00:31:43

阅读数 8819

评论数 0

原创 聊聊malloc和new的区别---当malloc和string相遇时, 容易出错

在学习C语言的时候, 我们学了malloc, 后来学习C++的时候, 又学了new, 那么malloc和new有什么区别呢? 首先, malloc是一个库函数, 返回值是void *形式的, 而new是一个运算符, 返回值类型与new的对象/变量的指针相同。 其次,...

2014-12-02 22:28:03

阅读数 7849

评论数 7

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