C++
文章平均质量分 69
VR_wangkr
未来人工智能的开发者
展开
-
const int *p,const * int p,int const *p
1 从const int i 说起 有了const修饰的ic 我们不称它为变量,而称符号常量,代表着20这个数。这就是const 的作用。ic是不能在它处重新赋新值了。 认识了const 作用之后,另外,我们还要知道格式的写法。有两种:const int ic=20;与int const ic=20;。它们是完全相同的。这一点我们是要清楚。总之,你务必要记住const 与原创 2012-12-20 16:06:13 · 1062 阅读 · 0 评论 -
vector中erase用法注意事项
以前就发现了vector中的erase方法有些诡异(^_^),稍不注意,就会出错。今天又一次遇到了,就索性总结一下,尤其是在循环体中用erase时,由于vector.begin() 和vector.end()是变化的,因此就引入了错误的可能性。erase的函数原型有两种形式:iterator erase(iterator position);iterator erase(i转载 2014-10-22 22:04:06 · 1289 阅读 · 0 评论 -
OpenSSL 在VS2010环境下的安装
openssl简介openssl是一个功能丰富且自包含的开源安全工具箱。它提供的主要功能有:SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(对称/非对称/摘要)、大数运算、非对称算法密钥生成、ASN.1编解码库、证书请求(PKCS10)编解码、数字证书编解码、CRL编解码、OCSP协议、数字证书验证、PKCS7标准实现和PKCS12个人数字证书格式实现等功能。转载 2014-10-06 16:17:53 · 3616 阅读 · 0 评论 -
vs2010配置OpenSSL(永久)
在VS2010中编译好OpenSSL后就开始写程序了。这时候你要在vs2010中配置openssl.我这里给出主要的几个步骤(和永久配置其他库差不多):1. 选择属性管理器->右击Microsoft.Cpp.Win32.User->属性->VC++目录->包含目录2. 在包含目录中选择添加一条新的目录项:../openssl-1.0.1i/inc/openssl/.并确定。原创 2014-10-06 17:12:03 · 6610 阅读 · 0 评论 -
关于_beginthreadex和CreateThread的区别
关于_beginthreadex和CreateThread的区别 在 Win32 API 中,创建线程的基本函数是 CreateThread,而 _beginthread(ex) 是C++ 运行库的函数。为什么要有两个呢?因为C++ 运行库里面有一些函数使用了全局量,如果使用 CreateThread 的情况下使用这些C++ 运行库的函数,就会出现不安全的问转载 2014-10-26 16:41:47 · 3874 阅读 · 1 评论 -
MFC多线程内存泄漏问题&解决方法
在用visual studio进行界面编程时(如MFC),前台UI我们可以通过MFC的消息循环机制实现。而对于后台的数据处理,我们可能会用到多线程来处理。那么对于大多数人(尤其是我这种菜鸟),一个比较快捷的方法便是选择MFC多线程:AfxBeginThread或者CreateThread来进建立多线程。当一两个线程还是可以得,当有3个或者3个以上的线程出现时,极可能出现内存泄漏。原因分析如下:原创 2014-10-26 16:30:57 · 7357 阅读 · 0 评论 -
VC在debug版和release版中分配堆的区别
问题现象及测试代码 前几天有同事无意中用debug版的主程序调用了release版的dll中的某个输出函数,该函数new了一块内存并将指针返回给主程序并由后者释放,主程序在调用delete释放内存时断言失败。在排查问题时,同事念叨了一句“难道debug版和release版分配的内存不一样?”,这个问题我之前的确没有注意过,于是便进行了简单探索。本文内容主要针对VC6进行探索,其他版转载 2014-10-27 21:34:45 · 2067 阅读 · 0 评论