![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
aitp2011
这个作者很懒,什么都没留下…
展开
-
模板的特化与偏特化
模板的特化(模板参数列表指定特定类型)首先定义一个模板:templateclass test{//泛化实现代码}然后特化模板:template//尖括号中不带任何类型,也即原模板中的参数列表都将被特化class test//A、B用Cat,Dog特化{//特化实现代码}在以后使用test时,若为 test则表示执行特化实现的代码,若传入其转载 2015-03-25 18:09:04 · 374 阅读 · 0 评论 -
MFC中的字符类型转换
工程用Unicode编码MFC调用底层接口,底层需要传入char*,要将Cstring转成char*: Cstring tmpStr; USES_CONVERSION; char* needstr = T2A(tmpStr);char* 转成Cstring,直接转就行: char* tmpStr; Cstring needstr(tmpStr);常原创 2015-04-02 14:14:01 · 409 阅读 · 0 评论 -
动态链接库与静态链接库
概念动态链接:lib文件一般是一些索引信息,记录了函数在DLL文件中的入口信息;dll文件在运行时加载到进程空间中,包含了要执行的代码逻辑,因此可知动态库中的被引用函数不会包含在可执行文件中,所以应用程序最后发布时,需要exe与dll文件一起发布。静态链接:lib包含了函数代码(实际是各种cpp编译生成的obj的集合),在编译阶段直接将代码加入程序中;链接器从lib中获取所有的被引用函数,转载 2015-05-21 16:21:01 · 381 阅读 · 0 评论 -
linux下使用Jsoncpp
linux下使用Jsoncpp源码与项目代码一起编译时,会出现很多报错,诸如:error: missing binary operator before token "("/usr/include/wchar.h:104:1: error: ‘__BEGIN_NAMESPACE_C99’ does not name a type/usr/include/wchar.h:107:1:原创 2015-07-11 09:32:23 · 1496 阅读 · 1 评论 -
IO阻塞、非阻塞、同步、异步理解
http://blog.csdn.net/historyasamirror/article/details/5778378http://www.zhihu.com/question/19732473IO分5种:blocking IO、nonblocking IO、IO multiplexing、signal driven IO(少用)、asynchronous IO阻塞判断标准转载 2015-07-21 16:03:46 · 389 阅读 · 0 评论 -
linux获取局域网、公网IP地址以及主机名
int IsLANIP(unsigned int nIP){ // filter LAN IP's // ------------------------------------------- // 0.* // 10.0.0.0 - 10.255.255.255 class A // 172.16.0.0 - 172.31.255.255 class原创 2015-10-23 19:52:13 · 3273 阅读 · 0 评论 -
使用libxml读取分析配置文件
配置文件示例如下: 7 192.168.2.213 5730 192.168.2.230 9003 首先定义存储信息的结构体:typedef struct _partition { char ip[STRING_SIZE_MAX]; int port;} partition_原创 2015-11-02 19:59:54 · 454 阅读 · 0 评论 -
c语言宏定义中的#、##应用实例
#:用于字符串化,#后面的参数被转成一个字符串##:用于字符串的分割连接举例:首先定义一个字符串及其长度的结构体:typedef struct AVal{ char *av_val; int av_len;} AVal;宏定义一个该类型的字符串结构:#define AVC(str) {str,sizeof(str)-1}#define SAVC(x) s原创 2015-11-02 18:33:57 · 665 阅读 · 0 评论