![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++
文章平均质量分 60
suhiymof
这个作者很懒,什么都没留下…
展开
-
C++ typename的起源与用法
转自:http://feihu.me/blog/2014/the-origin-and-usage-of-typename/侯捷在Effective C++的中文版译序中提到:C++的难学,还在于它提供了四种不同(但相辅相成)的程序设计思维模式:procedural-based, object-based, object-oriented, generics对于较少使用最后一种泛型编程的我来说,程序设计基本上停留在前三种思维模式当中。虽说不得窥见高深又现代的泛型技术,但前三种思维模式已几乎满转载 2020-06-10 03:57:31 · 200 阅读 · 0 评论 -
重定义less直接比较char字符串
直接上代码:using namespace std;namespace std{ template<> struct less<const char *> { bool operator()(const char * const __x, const char * const __y) const { return strcmp(__x, __y)...原创 2020-01-07 23:58:32 · 195 阅读 · 0 评论 -
(转)C++ JsonCpp 使用(含源码下载)
https://www.cnblogs.com/ggjucheng/archive/2012/01/03/2311107.html前言JSON是一个轻量级的数据定义格式,比起XML易学易用,而扩展功能不比XML差多少,用之进行数据交换是一个很好的选择JSON的全称为:JavaScript Object Notation ,顾名思义,JSON是用于标记javascript对象的,详情参考h...转载 2018-09-27 16:09:09 · 2531 阅读 · 1 评论 -
函数指针调用
静态成员函数class A{public: static bool IsTownLink(HANDLE pContext);};template handle RandomGetLink(_Pr proc) { vector vecLink; for (handle hLink = FirstLink(); hLink != INVALID_HANDLE; hLink = Ne原创 2017-07-19 17:40:13 · 260 阅读 · 0 评论 -
C/C++ 编码转换
(1) iconv_t iconv_open(const char *tocode, const char *fromcode);//此函数说明将要进行哪两种编码的转换,tocode是目标编码,fromcode是原编码,该函数返回一个转换句柄,供以下两个函数使用。(2) size_t iconv(iconv_t cd,char **inbuf,size_t *inbytesleft,char原创 2017-07-10 09:57:30 · 1188 阅读 · 0 评论 -
等概率无重复的从n个数中选取m个数
转载自:点击打开链接问题描述:程序的输入包含两个整数m和n,其中m学习过概率统计的同学应该都知道每一个数字被抽取的概率都应该为m/n. 那么我们怎么构造出这样的概率呢?在《编程珠玑》上面是这样解析的: 依次考虑整数0,1,2,.....,n-1,并通过一个适当的随机测试对每个整数进行选择。通过按序访问整数,我们可以保证输出结果是有序的。 假如我们考虑m = 2,n = 5转载 2017-07-17 20:48:46 · 1232 阅读 · 0 评论 -
不同字符编码转换(UTF8 UNICODE ANSI)
UTF8 - ANSICP_UTF8选项是UTF8和UNICODE之间的转换CP_ACP是ANSI和UNICODE之间的转换先将UTF8转换为UNICODEwstring UTF8ToUnicode(const string& str) { int len = 0; len = str.length(); int unicodeLen = ::MultiB原创 2017-07-03 19:33:10 · 718 阅读 · 0 评论 -
笔记
可以在一个class内部这样声明一个类的静态整形常量:static const int num = 5;只要不取其地址,就可以这样声明而无需提供定义式。但如果你取其地址或别的原因必须要一个定义式则必须提供定义式:const int className::num;因为在声明时已经获得的初值,所以定义时不可以再设初值。这种格式只允许对整形进行。一个枚举类型的数值可以权充int被使用。对于单纯常原创 2013-08-22 23:15:54 · 505 阅读 · 0 评论 -
hiredis中lua脚本调用
想要直接用hiredis调用lua脚本,研究了好久发现hiredis源码好像不支持调用eval,因为hiredis中是用空格来分割各个参数的,但是lua的return和结果之间一定会有空格。改了一下hiredis的源码,int redisvFormatCommand(char **target, const char *format, va_list ap) 这个接口,int redisv原创 2017-02-03 16:39:40 · 2781 阅读 · 2 评论 -
centos安装czmq
基本上和这里说的一样,只是改用了yum来安装。czmq依赖libzmq库,所以要先安装libzmq。yum install gcc gcc-c++ kernel-develyum groupinstall "Development Tools"来安装build-essential。我用的centos6.5,pkg-config已经安装好了不需要安装原创 2017-02-15 16:21:43 · 2050 阅读 · 0 评论 -
hiredis应用
通过redisContext *redisConnect(constchar *ip, int port)来建立链接。连接成功后即可int redisAppendCommand(redisContext *c,const char *format, ...) 来进行组装数据进行数据操作。然后通过int redisGetReply(redisContext *c,void *原创 2017-01-17 17:33:45 · 467 阅读 · 0 评论 -
linux中.d依赖文件的使用
test.cpp:#include "it.h" //#pragma comment(lib, "libit")int main(void) { myprint(); return 0; } it.h:#include "d.h"void myprint(void); it.cpp:#include "it.h" /原创 2017-02-06 18:04:14 · 2657 阅读 · 0 评论 -
Linux系统中“动态库”和“静态库”那点事儿
转自:Linux系统中“动态库”和“静态库”那点事儿今天我们主要来说说Linux系统下基于动态库(.so)和静态(.a)的程序那些猫腻。在这之前,我们需要了解一下源代码到可执行程序之间到底发生了什么神奇而美妙的事情。 在Linux操作系统中,普遍使用ELF格式作为可执行程序或者程序生成过程中的中间格式。ELF(Executable and Linking Format转载 2017-02-06 15:44:54 · 514 阅读 · 1 评论 -
VC++2010下编译STLport,Boost
本文转载自:http://www.cnblogs.com/fullsailVC++2010下编译STLport,Boost最近在想向Boost转移,努力掌握Boost代码的过程中,STLport版本:5.2.1Boost版本:1.4.6.1 (1.4.7.0也OK)编译器Visual Studio 2010STLPort的编译,选择Microso转载 2016-05-06 18:33:10 · 663 阅读 · 0 评论 -
Linux ./configure
摘抄自:这里源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/b转载 2015-07-21 18:05:43 · 340 阅读 · 0 评论 -
vs2012 64位编译stlport5.20
从开始菜单运行VS2012 x64兼容工具命令提示,切换到stlport目录,比如我的:D:\soft\STLport\STLport-5.2.0。然后执行命令:configure --help,会看到msvc9,然后执行configure msvc9;进入build/lib目录执行:nmake -f msvc.mak clean install;会报一个错误:\stlport\stl原创 2015-06-17 19:33:01 · 874 阅读 · 0 评论 -
使用c++编写动态链接库知道意见
转自《程序员的自我修养》C++与动态链接1、所有的接口函数都应该是抽象的,所有的方法都应该是纯虚的(或者inline的方法也可以)。2、所有的全局函数都应该使用extern “c”来防止名字修饰的不兼容。并且导出函数都应该是__stdcall调用规范的。这样即使用户本身的程序是摩恩以__cdecl方式编译的,对DLL的调用也能够正确。3、不要使用c++标准库STL。4、不要使用异常转载 2013-10-11 17:34:32 · 452 阅读 · 0 评论 -
static
C语言中使用静态函数的好处: 静态函数会被自动分配在一个一直使用的存储区,直到退出应用程序实例,避免了调用函数时压栈出栈,速度快很多。 关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。 使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会转载 2013-07-30 10:28:15 · 482 阅读 · 0 评论