C++/VC
zhenyusoso
这个作者很懒,什么都没留下…
展开
-
VC下使用stl如何摆脱MSVCP60.dll?
这是一个困扰我们很久的问题。一直以来我受到了蒙骗,以为stl作为一个模版库,所有的类和函数都是inline的,使用stl编写的程序不需要额外的依赖。并由此更偏爱用string而不喜欢CString,很明显,仅仅使用了一个字符串功能,就要给我的程序搭上一个近1M的mfc42.d转载 2011-09-29 09:26:05 · 1141 阅读 · 0 评论 -
do...while(0) do...while(false)的妙用
在C++中,有三种类型的循环语句:for, while, 和do...while, 但是在一般应用中作循环时, 我们可能用for和while要多一些,do...while相对不受重视。 但是,最近在读我们项目的代码时,却发现了do...while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性。1. do...while(0)消除goto语句。通常,如果在转载 2012-09-09 15:39:06 · 2093 阅读 · 0 评论 -
WinInet, WinHttp, Winsock, ws2_32的区别和联系
在Windows平台进行网络程序开发, 可以使用不同的库, 但是最常用的还是微软自己开发的库。具体说来,有:(1)Winsock,工作于网络层和传输层的开发库,对于编写TCP,UDP,以及原始IP通信程序非常合适。函数原形也基本符合Unix socket标准。Windows平台上的大多数程序,如QQ,讯雷等都基于其开发。(2)ws2_32,是Winsock的升级版本,在兼容的基础上增加了不转载 2012-09-07 21:12:11 · 10395 阅读 · 2 评论 -
assert()函数用法总结
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:#in转载 2012-09-09 12:14:09 · 864 阅读 · 0 评论 -
C++命名空间的解释
C++命名空间的解释来源:代码栈的日志使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突。在C++中,变量、函数和类都是大量存在的。如果没有命名空间,这些变量、函数、类的名称将都存在于全局命名空间中,会导致很多冲突。比如,如果我们在自己的程序中定义了一个函数toupper(),这将重写标准库中的toupper()函数,这是因为这两个函数都是位于全局命名空间中的。命名冲突还会发转载 2012-07-10 22:44:52 · 991 阅读 · 0 评论 -
掀起C++ 11的神秘面纱
掀起C++ 11的神秘面纱C++之父Bjame Stroustrup最近说C++11就像一个新语言,的确,C++11核心已经发生了巨大的变化,它现在支持Lambda表达式,对象类型自动推断,统一的初始化语法,委托构造函数,deleted和defaulted函数声明nullptr,以及最重要的右值引用。【51CTO 6月21日外电头条】C++之父Bjame Stroustrup最近说C+转载 2012-07-10 23:57:14 · 1855 阅读 · 0 评论 -
MFC radio button 设置默认选中
我们假设有两个RADIO控件:IDC_RADIO_SINGLE和IDC_RADIO_RANGE,我们的目的是默认选种IDC_RADIO_SINGLE控件。方法一:CheckRadioButton(IDC_RADIO_SINGLE,IDC_RADIO_RANGE,IDC_RADIO_SINGLE);方法二:将IDC_RADIO_SINGLE设置为有Group属性,IDC_RADIO_转载 2012-03-06 17:26:53 · 34199 阅读 · 0 评论 -
time(0)时间转换,以及时差带来的问题
http://hi.baidu.com/programpad/blog/item/ff52ab72709255168601b077.html早上好友小思同学发来邮件,询问time(time_t *time)得到的时间如何转化为原有时间格式。现在我来回答一下,首先介绍一下这个函数。#include time_t time( time_t *time );这是C库函数,功能是用来获转载 2012-03-01 11:12:24 · 11012 阅读 · 0 评论 -
C++中map和hash_map的区别
C++中map和hash_map的区别这里列几个常见问题,应该对你理解和使用hash_map比较有帮助。4.1 hash_map和map的区别在哪里?构造函数。hash_map需要hash函数,等于函数;map只需要比较函数(小于函数). 存储结构。hash_map采用hash表存储,map一般采用红黑树(RB Tree)实现。因此其内存数据结构是不一样的。转载 2012-02-23 11:40:25 · 12201 阅读 · 1 评论 -
“由于应用程序配置不正确,应用程序未能启动”的问题
VC9编译的程序在没有装过VC9(确切的说是.Net Framework3.5)的机器上运行时,如果提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”这个错误,那么就说明该程序动态链接了VC9的运行时库,(如果还用到了MFC,那么可能动态链接了VC9的MFC库,同理还有ATL库),以及缺少对应的manifest文件,程序在目标机器上没有找到这些库和配置文件,因此转载 2012-02-23 14:39:35 · 2379 阅读 · 0 评论 -
find_first_of()和 find_last_of()
string 类提供字符串处理函数,利用这些函数,程序员可以在字符串内查找字符,提取连续字符序列(称为子串),以及在字符串中删除和添加。我们将介绍一些主要函数。1.函数find_first_of()和 find_last_of() 执行简单的模式匹配 例如:在字符串中查找单个字符c。函数find_first_of() 查找在字符串中第1个出现的字符c,而函数find_last转载 2012-02-23 11:50:23 · 55761 阅读 · 1 评论 -
CreateIoCompletionPort函数和完成端口
CreateIoCompletionPort函数关联一个已打开的文件实例和新建的或已存在的I/0完成端口,或者创建一个未关联任何文件的I/O完成端口。完成端口 接下来看看完成端口(Completion Ports ) 其实可以把完成端口看成系统维护的一个队列,操作系统把重叠IO操作完成的事件通知放到该队列里,由于是暴露 “操作完成”的事件通知,所以命名为“完成端口”(CO原创 2012-09-09 21:27:51 · 2700 阅读 · 0 评论