C/C++
文章平均质量分 63
wlmmlw
这个作者很懒,什么都没留下…
展开
-
1.fstream.STL
1.回车STL里有个fstream类,用来读写文件,对于文本文件的回车处理得注意个问题,那就是开方模式中要使用ios_base::binary,才能正确的进行读写。读出数据时要有启用这个模式,写的时候也一样。 const char* filename="a.txt";fstream file;file.open(filename, ios_base::in | ios_ba原创 2008-04-03 18:03:00 · 929 阅读 · 0 评论 -
Notes-2:gvimrc
"打开vim后执行命令unmap "和是一对noremap :TlistToggle"window select with ctrl+[hjkl]noremap hnoremap jnoremap knoremap lset tabpagemax=20"tab select with alt+[i]function! BufPos_Acti转载 2011-11-07 21:25:47 · 739 阅读 · 0 评论 -
Notes-9:lua binder另一只轮子的雏形
利用c++0x新特性来实现一个lua binder, 这是个超级雏形,基本上实现了从函数参数的拆卸和重新组装。 从xLB_caller压入两个实参(模拟lua_State可以给我们提供实参)template struct xLB_caller {};templatestruct xLB_caller { typedef R (*function_t)(A...);原创 2011-11-20 12:58:23 · 1260 阅读 · 0 评论 -
Notes-10:lua binder另一只轮子成员函数
#include #include #include using namespace std;using namespace std::placeholders;/*============================================================================ * ==============================原创 2011-11-25 16:07:06 · 827 阅读 · 0 评论 -
Notes-4:C++练习之LL(1)语法分析
目标在于解释书本上的LL(1)语法分析过程(没有实用价值),不包括符合LL(1)语法检测(这个也可从生成的表中看出来),有FIRST,FOLLOW集的求得和表格的生成.程序中的类可被生成的代码使用,只需求写一个bnf语法(不支持扩展格式)的文本做为参数传递给这个程序,就能生成分析该bnf的程序.代码是在Visual Studio里调试的,如果不是,把#include "stdafx.h"注释掉原创 2009-03-21 08:59:00 · 2080 阅读 · 2 评论 -
Notes-6:LUA应用之利用luacom接收IE,Excel消息
package.cpath=[[D:\Tools\Lua\5.1\clibs\?.dll]];require "luacom"excel=luacom.CreateObject("Excel.Application");assert(excel);excel.Visible=true;workbook=excel.Workbooks:Add();print("wor原创 2011-07-19 20:52:22 · 2460 阅读 · 0 评论 -
STL杂记(4)
1.模板实例化(instantiated)的两个层次,声明和使用时的定义检查,参数依赖内容只做声明检查// details/lazy.cpp template class Safe { }; template class Danger { public: typedef char Block[N]; // would fail for N<=0 };原创 2008-10-21 08:08:00 · 688 阅读 · 0 评论 -
Notes-7:variadic template
#include using namespace std;templatevoid print_comma_separated_list(const T& value) { std::cout<<value<<std::endl;}templatevoid print_comma_separated_list(const First& first,Rest ...转载 2011-11-10 15:28:50 · 668 阅读 · 0 评论 -
Notes-6:字符串常量作为模板参数
#include using namespace std;struct clsTest { clsTest() { std::cout << "clsTest()" << std::endl; } virtual ~clsTest() { std::cout << "~clsTest()" << std::endl; }};template // 必须使用const原创 2011-11-10 13:03:47 · 1190 阅读 · 0 评论 -
Notes-11:编译wxWidget 2.9.2
1. 下载wxWidget 2.9.2http://wxwidgets.org/downloads/#latest_dev2. 下载filefn.patch,gcc-4.7-name-lookup.patch,用cygwin的patch.exe打上patch.exe -p0 patch.exe -p0 3. 编译mingw32-make.exe -f makefile.原创 2011-12-06 17:30:29 · 810 阅读 · 0 评论 -
Note-1:simple bakefile xml
.. $(ROOT_DIR)$(DIRSEP)src gcc_dll $(ROOT_DIR)$(DIRSEP)lib$(DIRSEP)$(OUTPUT_PROFIX) $(ROOT_DIR) _NBUSE_ND_ "$(WX_DIR)$(DIRSEP)include" "$(WXLUA_DIR)$(DIRSEP)modules" "$(原创 2011-10-31 18:16:12 · 992 阅读 · 0 评论 -
lualdap设置unicodePwd不成功
从网上搜到lualdap,狂喜,试之,连接,查询,新增User,OU,修改属性都OK,唯独修改不了密码unicodePwd. 重祭google大法, 结果没让人晕过去, 网上讨论这个问题一大把, 看来问题严重. 细看, 发现涉及证书, TLS/SSL, ASN.1 BER等, 怒了, 修改一个破密码这个多破事. 一一按要求办了, 还是报DSID-031A0FC0错误, 服了.看来还得从头来过,原创 2011-09-08 17:29:08 · 2721 阅读 · 1 评论 -
Notes-8:认识新标准c++0x
http://code.google.com/p/mingw-builds/downloads/listhttp://gcc.gnu.org/projects/cxx0x.htmlhttp://www2.research.att.com/~bs/C++0xFAQ.htmlhttp://www.open-std.org/jtc1/sc22/wg21/http://www.op原创 2011-11-12 23:50:55 · 665 阅读 · 0 评论 -
引用与指针
这篇文章展示C++中引用和指针的关系.//============================== typedef struct _tag_ref{ union{ void *p; std::string &r; }; _tag_ref(std::string &s):r(s){};}REF;std::string & refparam(原创 2008-05-31 14:41:00 · 690 阅读 · 0 评论 -
STL杂记(1)
STL就象一个大的类型推导机器. 她把类型做为参数,用推导做为运算.通过匹配规则来确实最后的调用.1.类型有简单的如int ,有复杂的如 int (class_A::*)(Param_A*)通过推导,能把类型分解,如templateclass T1, class T2, class T3> void f3(T1 (T2::*)(T3*));templatecla原创 2008-06-26 11:39:00 · 1103 阅读 · 1 评论 -
STL杂记(2)
SFINAEThis "substitution-failure-is-not-an-error" (SFINAE) principle is clearly an important ingredient to make the overloading of function templates practical. typedef char RT1; typedef struct {原创 2008-10-17 20:44:00 · 651 阅读 · 0 评论 -
STL杂记(3)
1.模板的友员函数template typename T> class Creator { friend void feed(Creator*){ // every T generates a different // function ::feed() std::原创 2008-10-18 09:24:00 · 697 阅读 · 0 评论 -
std::wcout.STL
1.输出中文xx.h#ifdef NOTANSI typedef std::wstring token_t; #define TOKEN L #define CONST_TEXT(x) L##x #define gcout std::wcout #else typedef std::string token_t;原创 2008-10-12 15:55:00 · 866 阅读 · 0 评论 -
温故知新
1.最大公约数两个数x1,x2 (x1>x2),他们之间的差y1=x1-x2如有公约数u,那么会有下面的等式x1 = a*ux2 = b*ux1 = c*u + y1y1 = d*u当d=1时,u最大2.求100以内质数(答案少2)void CreateOdd(vectorint>& vl){ vl.resize(49); for原创 2008-10-13 15:26:00 · 643 阅读 · 0 评论 -
析毫剖厘
析毫剖厘1000 - 1 = 01111000 & 0111 = 0int x = 999;int countx = 0; while(x) { countx++; x = x&(x-1); } cout "countx:"原创 2008-10-12 16:14:00 · 677 阅读 · 0 评论 -
懒笔头
1.格式转化 #include stringstream ss;ss "0x00fe" ;unsignal long ulvalue;ss >> std::hex >> ulvalue;ss.str(""); //clear2.UTF-8 和 Unicode 的关系 U-00000000 - U-0000007F:0xxxxxxxU-原创 2008-10-14 10:34:00 · 1138 阅读 · 0 评论 -
Notes-12: 在DLL中使用wxWidget
在DLL中使用wx,还是需要提供是一个wxApp。可以这样写一个/*---------------------------------------------------------------------------dawnwxApp----------------------------------------------------------------------------原创 2011-12-09 16:29:27 · 1195 阅读 · 0 评论