【C++】
文章平均质量分 51
moooxin
mx1024.com
展开
-
【分享】一个c++ 模板,支持 宽字节多字节的注册表操作类
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611通过模板特化的方式,实现uniface和多字节的接口配置使用到c++11 function bind#pragma once#include <string>#include <functional>#include <windows.h>namespace RegKey{ enum Name { ...原创 2020-12-02 08:34:56 · 219 阅读 · 0 评论 -
win32项目中使用 skia渲染的一个编译问题
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611如果出现编译错误。//private\sktfitsin.h(68): error C2589: “(”:“::”右边的非法标记//private\skto.h(14): note: 参见对正在编译的函数 模板 实例化“bool SkTFitsIn<D,S>(S)”的引用template <typename D, ty...原创 2020-11-21 16:08:28 · 504 阅读 · 0 评论 -
STL源码剖析之 traits 技术小结【2013.12.12】
STL源码剖析之 traits 技术小结【2013.12.12】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 代码完全VS2005 编译通过,欢迎朋友们指教 一定虚心切磋 我是上群群主 #include using namespace std;//欢迎加入我们的QQ群,无论你是否工作,学生,只要有c原创 2013-12-12 10:58:37 · 1277 阅读 · 0 评论 -
【小记备忘】之C/C++ 杂记,catch,调用构造函数,内存分配,隐式转换【2013.12.11】
【小记备忘】之C/C++ 杂记,catch,调用构造函数,内存分配,隐式转换【2013.12.11】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 【一】关于一般的函数传参 和 catch异常抛出传参的不同点1.普通的参数传参有传值,传引用,static的区别;catch则没有,就算声明的cetch是传值传引用等原创 2013-12-11 09:57:32 · 1111 阅读 · 0 评论 -
【小记备忘】之C/C++函数调用约定,函数参数压栈顺序【2013.12.09】
【小记备忘】之C/C++函数调用约定,函数参数压栈顺序【2013.12.09】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 问题引申:int arr[]={6,7,8,9,10};int *ptr=arr;*(ptr++)+=123;printf("%d,%d",*ptr,*(++ptr));原创 2013-12-09 16:28:52 · 1154 阅读 · 0 评论 -
c++ 应对内存不足 申请失败 的情况【2013.12.02】
c++ 应对内存不足 申请失败 的情况【2013.12.02】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 对计算机来说,内存永远是有限的。有用完的时候。对程序来说,虽然内存用完的情况万年都不一定碰到一次,但是这种情况是存在的,所以需要对这种情况做处理。简单的方法:【设置内存申请失败异常函数】原创 2013-12-02 14:48:01 · 4299 阅读 · 0 评论 -
STL源码剖析之哈希表 hashtable【2013.12.06】
STL源码剖析之哈希表 hashtable【2013.12.06】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 哈希表,一种键值对用的关系。具有关联性。也称散列表,主要是通过特殊算法建立值和键的关系,然后根据键值对应存储和搜索。因为是键值对应的关系,所以再键的存储上面,会出现一种【碰撞】问题,即原创 2013-12-06 12:35:22 · 3482 阅读 · 0 评论 -
STL源码剖析之slist【2013.11.26】
STL源码剖析之slist【2013.11.26】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 标准STL是没有slist的 这里的slist(单向链表)是SGI 版本的STLslist是单向链表,只能单项移动,其实可以想stack queue一样,做成一种容器配接器,但是SGI 并没有这样做,原创 2013-11-26 10:18:01 · 1204 阅读 · 0 评论 -
STL源码剖析之Deque容器【2013.11.25】
STL源码剖析之Deque容器【2013.11.25】deque是说起来和上一篇的List有点像,他是一个双向队列,但是不循环。(队列:在一个顺序空间内 实现一种 先进后出 的属性)deque的定义:原创 2013-11-25 15:42:32 · 1542 阅读 · 0 评论 -
STL源码剖析之stack,queue容器【2013.11.25】
STL源码剖析之Stack,queue容器【2013.11.25】SGI STL中 stack和queue 不是严格的容器,而只能算是一种应用与容器的配接器(配接器可以分为容器配接器,迭代器配接器,仿函数配接器)stac原创 2013-11-25 16:17:06 · 1362 阅读 · 0 评论 -
STL源码剖析之List容器【2013.11.18】
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 STL源码剖析之List容器【2013.11.18】欢迎加入我们的QQ群,无论你是否工作原创 2013-11-25 11:45:24 · 1072 阅读 · 0 评论 -
【勤思善想 之 判断大端小端】我想到的判断大端小端的方法!绝对不同于网络上其他方法!
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 关于判断大端小端,网络上很多方法。关于大端小端,介绍一下:内存地址大家都知道是有序号顺序的,因为就是高低之分,大小之别了。而数据在内存中存放都是化成二进制了的,同样就有了高低大小之别了。假设存储0x12345678 这个数据小端模式:CPU对操作数的原创 2013-11-11 15:23:58 · 1023 阅读 · 0 评论 -
STL源码剖析之heap,priority_queue【2013.11.25】
STL源码剖析之heap,priority_queue【2013.11.25】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 priority_queue是一种特殊的queue,queue的出队顺序是根据入队顺序确定的,priority_queue则有一种权重概念,他的出队顺序由这个权重大小决定。原创 2013-11-25 17:16:08 · 1387 阅读 · 0 评论 -
STL源码剖析之map set multimap multiset【2013.12.10】
STL源码剖析之map set multimap multiset【2013.12.10】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 map 关联容器(key-value对应),set 关联容器( 集合) 默认不能重复multimap 同map,multiset同set,只是允许重复SGI STL原创 2013-12-11 10:34:18 · 1449 阅读 · 0 评论 -
STL源码剖析之树 tree 二叉搜索树 红黑树【2013.12.04】
STL源码剖析之树 tree 二叉搜索树 红黑树【2013.12.04】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 树 在数据结构中是一个很重要的成员。详细无论哪本数据结构的书都有介绍!如果没有的话,你确定你买的是对的书么?STL中,树相关的就是 平衡二叉树,二叉搜索树就是一种平衡二叉树,红黑树则原创 2013-12-04 10:33:24 · 1066 阅读 · 0 评论 -
STL源码剖析之红黑树【2013.12.05】
STL源码剖析之红黑树【2013.12.04】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 【红黑树】红黑树是一种受限制的搜索树,其限制如下:.原创 2013-12-05 10:30:25 · 1230 阅读 · 0 评论 -
【代码备忘】VC判断自己窗口的另一种方法
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611【代码备忘】VC判断自己窗口的另一种方法FindWindow就不说了,这说 的是另一种:GetProp代码也差不多:查询... HWND hWndPrevious = ::GetWindow(::GetDesktopWindow(),原创 2014-08-15 17:35:30 · 971 阅读 · 0 评论 -
【代码备忘】今天突然写的一个比较奇葩的C++ 代码,模版,friend,友元...
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 今天突然脑袋一闪,写出这样的代码。这样就能 不用在Ta中添加friend class ,只要实现Tb 就能访问Ta的private 属性了。应该是比较奇葩的代码吧 。。。。。#include using namespace std;templatecl原创 2014-04-29 10:43:19 · 1486 阅读 · 0 评论 -
【代码备忘】C++ fstream 读写 unicode 文件
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611所谓的unicode文件,无非就是在文件头部插入了 0xFFFE的标志。。。读写的时候对应的读写 就可以了。namespace fileStream{ bool readFile_Unicode( const string &file ,wstr原创 2014-04-28 09:22:43 · 4466 阅读 · 0 评论 -
【小记备忘】之sscanf 安全方法 sscanf_s【2014.04.23】
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 sscanf_s 使用的时候,要指定最大长度。。 static const char *s_formatBaseSourceString = "{#%16s}{#%12s}"; //{#MyOutputFileName}{#MyAppVerPath}原创 2014-04-23 11:13:36 · 3158 阅读 · 2 评论 -
【小记备忘】IE11的插件兼容问题
【小记备忘】IE11的问题欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 今天碰到一个插件不能使用,仅在IE11下无法使用,IE678910都正常;插件是c++开发的COM组件。于是调试了一下网页,发现问题所在:if(navigator.userAgent.toLowerCase().indexOf(原创 2014-05-05 12:16:50 · 2264 阅读 · 0 评论 -
C++ STL中 std::transfrom()..使用方法.【2013.10.25】
C++ STL中 拿一个容器转换成另一个容器的方法 std::transfrom()...超级简单。嘿嘿......看代码在侯捷的 C++ template中,是一个叫 非类型函数模版参数的东西...STL 很棒的东西!templateT TestAdd( T & t){ return t + Value;}int main(){ vector avs; vectorbv原创 2013-10-28 10:22:44 · 1630 阅读 · 0 评论 -
【小记备忘】之简单的线程池的设计【2014.03.12】
【小记备忘】之简单的线程池的设计【2014.03.12】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 线程池,一个多么牛逼的字眼。。最近看了一个简单的开源网络库Micro-Development-Kit 的代码,看到了一个简单的线程池的实现。So,备忘一下。先看我根据代码总结的类图:当然,funct原创 2014-03-12 15:32:22 · 1055 阅读 · 0 评论 -
【小记备忘】之模版编程传入常量类型时候的备忘template<char *>【2014.03.12】
【小记备忘】之模版编程传入常量类型时候的备忘template【2014.03.12】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 代码为先:typedef char * pchar;templateclass TChars{public: TChars() { pc = new char[原创 2014-03-12 11:54:23 · 1565 阅读 · 0 评论 -
【小记备忘】之C/C++ 杂记,确定结构体中成员变量的偏移量【2013.12.23】
【小记备忘】之C/C++ 杂记,确定结构体中成员变量的偏移量【2013.12.23】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 确定结构体中成员变量的偏移量:思路:将地址0位置转换成一个结构体指针,然后各个变量的地址就是其偏移地址。代码:struct A{char a;short b;原创 2013-12-23 10:10:59 · 1162 阅读 · 0 评论 -
【设计模式】之策略模式粗谈【2013.12.06】
【设计模式】之策略模式粗谈【2013.12.06】欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 今天看Effect c++ 其中一点【考虑virtual函数以外的其他选择】这一节中说道了策略模式。因而有感,小结一下;个人的语言总结就是,策略模式,分为两块:一块存储类似的策略:表示策略的具体执行过原创 2013-12-06 17:07:00 · 1010 阅读 · 0 评论 -
【游戏算法之贪吃蛇】我想的贪吃蛇算法
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 原文地址很久以前自己写过贪吃蛇游戏。。用的QT。当时没想太多就写了...现在 把当时写贪吃蛇用到的小蛇的算法大致梳理一遍。因为时隔一年多之久,当时用QT写的游戏,所以现在只能大概归纳一下了。而且可能把以前的算法优化了一下。呵呵。。。一切尽在不言中。【代码也附上原创 2013-11-11 13:31:23 · 2230 阅读 · 0 评论 -
C++ 程序编译的一些莫名其妙的错误。【2013.11.7】
欢迎加入C/C++ QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 程序编译的一些莫名其妙的错误。今天遇到一个莫名其妙的错误,当我引入queue或者deque的时候 ,编译就会报错,而其他的如vector则没有问题。而且错误并非在自己写的代码 中,而是在queue 中,stl的queue应该是不会出错的吧,那自原创 2013-11-08 08:59:06 · 1197 阅读 · 0 评论 -
关于c / c++ 数组的初始化【2013.11.8】
欢迎加入C/C++ QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 关于c / c++ 数组的初始化数组的初始化方法:一般就是申明的时候 {***} 来初始化一个数组看代码int a[5] = {0};//这样a的存储全部为0int a[5] = {1,2,3,4,5};//这样为 1 2 3 4 5int a[5]原创 2013-11-08 15:54:21 · 769 阅读 · 0 评论 -
c c++ 中 结构体内成员 位域的 一点经验【2013.10.11小记】
在位域的使用中:例如: unsigned short y:10;y = 1025;int iy = y;iy 的值根据位域的不同值有区别的;计算方法是 y的赋值多 2的10次方 求 % 即 iy = 1025 % 1024 = 1;ok!原创 2013-10-15 10:49:36 · 682 阅读 · 0 评论 -
解决scanf 没有执行直接跳过【2013.10.10 小记】
如果 C 中 scanf 没有执行 直接跳过的 话 解决方案是 在scanf 之前 加入fflush(stdin);清空缓冲。。。因为scanf是读取缓冲数据的,而不是直接和键盘输入交互.....原创 2013-10-15 10:48:22 · 1642 阅读 · 0 评论 -
一个C C++ 内存的问题 和 C++继承 虚函数表的点【2013.10.15小记】
1.你关于一个C C++ 内存的问题栈不需要程序分配,在程序启动的时候,栈空间就已经分配好了,函数调用结束后,内存并没有释放,只是管理栈的指针(sp寄存器)发生了变化,所以这个内存还是可以访问的。用以解释一下代码:void f(int ** p) {int i = 5; *p =&i; } void main(){ int * q =原创 2013-10-16 09:00:23 · 891 阅读 · 0 评论 -
c c++ 中 各种数据类型 取值溢出的时候 的方便记忆方法【2013.10.14小记】
欢迎加入我们的QQ群,无论你是否工作,学生,只要有c / vc / c++ 编程经验,就来吧!158427611 c c++ 中 各种数据类型 char int double 都是有取值范围的。。在编译器中相关最大值最小值都有 宏定义的 比如 int 对应 INT_MAX INT_MIN .....编程的时候可以在头文件中查到 从而减少自己忘记了,去计算的强。呵原创 2013-10-15 10:59:14 · 1085 阅读 · 0 评论 -
数据库 ADO 另一种使用方法和关于C++引用的两个小点【2013.10.16 小记】
1.发现有的朋友用ADO msado**.dll的时候基本都只会拼接SQL的写入,修改数据库的方法。其实ADO是能够做到不用拼接SQL的...以应对事务提交,数据库回滚等操作。当写入/修改的数据庞大需要多次写入的时候,其修改/写入的速度是拼接SQL的N倍在这里就简单说一下写入数据的方法,修改的方法也雷同。首先 连接数据库 创建连接对象_ConnectionPtr pCon;原创 2013-10-17 09:07:15 · 1104 阅读 · 0 评论 -
VC下载文件
char m_URL[] = "http://www.baidu.com/img/logo.gif"; CString strServer,strObject; CString szHeaders; INTERNET_PORT nPort; CInternetSession session("My Sesssion"); CHttpConnection * pSe原创 2012-02-22 12:17:03 · 1040 阅读 · 0 评论 -
vc 获得屏幕大小与任务栏大小
vc 获得屏幕大小与任务栏大小 CRect rtClient; SystemParametersInfo(SPI_GETWORKAREA, 0, &rtClient, 0);//屏幕大小(不含任务栏) int nScreenWidth = ::GetSystemMetrics(SM_CXSCREEN);//屏幕大小(含任务栏) int nScreenHeigth = ::Ge原创 2013-01-28 07:52:20 · 1352 阅读 · 0 评论 -
变体VARIANT
目前计算机语言多种多样,如C++、Java、Basic、Pascal等,此外还有JavaScript、VBScript、ActionScript等脚本语言,它们各自维护自己的数据类型,当使用C++这样强类型的语言来读取数据库或者与其他语言之间来交换数据时,它很有可能不知道获取到的数据的具体类型,这个时候必须借助于变体类型读取数据。VARIANT数据类型就具有跨语言的特性,同时它可以表示(存储)任意翻译 2013-05-27 10:22:10 · 1241 阅读 · 0 评论 -
一些转换方法。。。很不错
符号属性 长度属性 基本型 所占位数 取值范围 输入符举例 输出符举例-- -- char 8 -2^7 ~ 2^7-1 %c %c、%d、%usigned -- char 8翻译 2012-03-29 12:41:09 · 671 阅读 · 0 评论 -
STL 容器小结
http://kb.cnblogs.com/a/1626891/STL的容器可以分为以下几个大类: 一:序列容器, 有vector, list, deque, string.二 : 关联容器, 有set, multiset, map, mulmap, hash_set, hash_map, hash_multiset, hash_multimap三: 其他的杂项: stack,翻译 2013-10-14 17:25:09 · 825 阅读 · 0 评论 -
vc ado 生僻使用
1.执行sql语句的时候,最好用 _CommandPtr的Execute,而不是_ConnectionPtr的Execute;如果用_ConnectionPtr的Execute,在执行_ConnectionPtr事务的时候,_RecordsetPtr AddNew的时候会莫名其妙的报错。。。2._RecordsetPtr取数据的方法 (1) _RecordsetPtr-原创 2013-04-17 16:01:12 · 1006 阅读 · 0 评论