随笔分类 - C++
摘要:返回int,直接mov寄存器eax中的临时变量。直接把double的值放入栈顶指针esp所值处,FSTP将栈顶的数据传送到目标,并进行堆栈的弹出操作临时对象mov给外部对象。2,
阅读全文
摘要:1,traits char name[] = "templates"; int legnth = sizeof(name) - 1; accum(&name[0], &name[legnth]);2,value traitvalue trait有个缺点:在所在类的内部,C++只允许对整形和枚举类型初始化成静态成员变量。显然folat或其它自定义类型等不能使用上面解决方案...
阅读全文
摘要:error LNK2005: "enum ae::<unnamed-type-IMU_STATE> ae::IMU_STATE" (?IMU_STATE@ae@@3W4<unnamed-type-IMU_STATE>@1@A) already defined in model_event.obj今天
阅读全文
摘要:一:计数器二:析构和释放三:SmartPoint
阅读全文
摘要:1,模板实例化机制是一种基本的递归语言机制,可以用于在编译期执行复杂计算。2,枚举值和静态常量在原来的C++编译器中,在类声明的内部,枚举值是声明"真常值"(常量表达式)的唯一方法。然而现在C++的标准化过程引入了在类内部对静态常量初始化的概念。该版本存在一个缺点:静态成员变量只能是左值。因此如果具有如下一个声明:void foo(int const&);传入静态成员版foo(Pow3::resu...
阅读全文
摘要:1,名称模板参数template <typename PolicySetter1 = DefaultPolicy1, typename PolicySetter2 = DefaultPolicy2, typename PolicySetter3 = DefaultPolicy3, typename
阅读全文
摘要:1,typename和class模板参数作为类的时候只能用classtemplate class CONT = std::duqe>T::SubType * ptr;如果不使用typename声明T, SubType就被看作静态成员,上面则表示静态成员SubType与prt的乘积。用typename能表示SubType是定义与T类内部的一种类型,ptr是一个T::SubType类型的指针...
阅读全文
摘要:1,重载函数模板f<int*>((int*)pi);//1f<int>((int*)pi);//2上面用int*替换第一个模板的T,用int来替换第二个模板的T。那么将得到两个相同参数类型(int*)的同名函数。也就是不仅同名模板可以同时存在,它们各自具有相同参数类型和返回类型的实例化体也可以同时存
阅读全文
摘要:1,演绎过程匹配类型A(来自实参的类型),参数化类型P(行参参数声明)如果被声明的参数是一个引用声明g(T& )那么P就是所引用类型T;f(T)中P就是所声明的参数类; decay指从数组和函数类型隐式转换为指针类型。如果实参的类型是数组或函数类型,则会发生decay,此时还会忽略高层次的const
阅读全文
摘要:1, curl_easy_init内部调用Curl_open创建一个结构体SessionHandle(里面包含了所以curl使用的数据和指针)并初始化一些数据,然后返回将其作为给外侧使用的句柄CURL*。2,curl_easy_setopt调用Curl_setopt,其内部一个switch,case
阅读全文
摘要:0: 模板是一些为多种类型而编写的函数和类,而且这些类型都没有指定。当使用模板的时候,只需要把所希望的类型作为一个(显示或隐示的)实参传递给模板。模板是语言本身所具有的特效,她完全支持类型检查和作用域。 并不是把模板编译成一个可以处理任何类型的单一实体;而是对于实例化模板参数的每种类型,(编译器)都
阅读全文
摘要:1, 使用libcurl上传文件上传个简单的下载下来成这样了:上传的时候boundary添加在body头尾巴,一起传上去了:curl_easy_setopt(m_easyHandle, CURLOPT_POST, 1L);我上传的时候专门设置了POST但是使用的还是 PUT,我猜可能是应为我用的CU
阅读全文
摘要:1,curl设置fiddler代理curl_easy_setopt(m_easyHandle, CURLOPT_PROXY, "127.0.0.1:8888");2,下载7.49.1版本CMake出来编译报错,查下CertFreeCertificateContext这个函数,在属性-link里添加C
阅读全文
摘要:一,post请求和回报处理 //"host/path?extra" //strHttp=" http://portal.liuhan.com:/web/getConfig?userName=liuhan01 &clientVersion=1.5.0.0"; Curl m_objUrlParser;/
阅读全文
摘要:一: multi与easy接口的不同处The multi interface offers several abilities that the easy interface doesn't. They are mainly:1. Enable a "pull" interface. The app
阅读全文
摘要:一:1,全局初始化及释放:CURLcode curl_global_init(long flags) flags: CURL_GLOBAL_ALL //初始化所有的可能的调用。 CURL_GLOBAL_SSL //初始化支持 安全套接字层。 CURL_GLOBAL_W...
阅读全文
摘要:使用 malloc/calloc 等分配内存的函数时,一定要检查其返回值是否为空;但是C++ 里,如果 new 分配内存失败,默认是抛出bad_alloc异常,不会返回空;但是有些编译器对c++标准支持不是很好,比如vc++6.0中new失败不会抛出异常,而返回0。 方案二:标准 C++ 亦提供了一
阅读全文
摘要:server端给我提供了个SDK,里面有30多个不同函数名不同参数类型不同参数个数的接口,我需要根据消息类型选择不同的接口,还需要把这个选择单独作为一个模块提供一个统一的接口上层调用。 模块A 模块B -----iType--------------> <---返回一个统一接口fp----- fp-
阅读全文
摘要:#include "stdafx.h"//////int v,i,j,k,l,s,a[99];//////int _tmain(int argc, _TCHAR* argv[])//////{////// //毒药////// for(scanf("%d",&s); ////// ...
阅读全文
摘要:1, 求成员变量的偏移: 2, const实现机制:在编译期间完成,对于内置类型,如int, 编译器可能使用常数直接替换掉对此变量的引用。而对于结构体不一定。 编译器在优化代码时把j直接优化成64h了,所以虽然p和&j的值一样,但j不再通过访问j的地址输出,而是使用的直接的数。(反汇编时也有看到直接
阅读全文

浙公网安备 33010602011771号