C/C++
文章平均质量分 57
perry_xiao
这个作者很懒,什么都没留下…
展开
-
一个简单程序对类(及static成员)入门的注解
#include class Test{public: explicit Test(); //explicit关键字用于抑制由构造函数定义的隐式转换 static int st; int static sget();//staic 成员函数没有this指针原创 2011-07-28 21:34:15 · 520 阅读 · 0 评论 -
Vs2010调试其它程序
在“Project->Configuraton->Configuration Properties->Debugging”中如置:Command:c:\windows\system32\notepad.exe; 表示调试开始时启动的程序。Command Arguments:c:\New Text Document.txt; 被调试程序调用的文件。按上述设置知道后只要按原创 2012-04-24 20:54:03 · 836 阅读 · 0 评论 -
Windows下的命令编译与Makefile
一般来说在程序编译的中,无论是C、C++,首先要把源文件编译成中间代码文件,在Windows下是 .obj 文件(UNIX下是 .o 文件),即 Object File,这个动作叫做编译(compile)。然后再把大量的Object File合成执行文件,这个动作叫作链接(link)。 NMAKE(Microsoft Program Maintenance Utility)的命令行语法转载 2011-12-01 20:48:06 · 9458 阅读 · 0 评论 -
Windows64位系统注册表读取
//判断HKEY_CURRENT_USER\Software\Microsoft\Windows Media\WMSDK\General中是否存在ComputerNameDWORD dwAccess = KEY_QUERY_VALUE | KEY_WOW64_64KEY; //KEY_WOW64_32KEYbool existKey = false;HKEY hKey = NULL;if原创 2012-05-31 22:03:56 · 5018 阅读 · 0 评论 -
C++模板学习-个人练习
//函数模板的写法template //定义类型标示T abs(T val){ return val<0 ? -val : val;}#include //类模板的写法template class MyBinaryTree{public: MyBinaryTree(); MyBinaryTree(Type a, MyBinaryTree *b, MyBinaryTree原创 2011-06-15 15:56:00 · 586 阅读 · 0 评论 -
VS2012 编译支持Windows XP 的可执行文件
1. 如果使用vs2012 编译 .exe 文件,只需将 Platform Toolset(Property->Configuration Properties->General->Platform Toolset) 默认值从 v110 改为 v110_xp 就可以了。2. 如果使用makefile 编译,将编译出来的 .exe 文件使用 depends 查看,依赖的dll 都没有问题,那么在原创 2013-11-26 19:55:14 · 2936 阅读 · 0 评论 -
输出一组元素的全排列(可包含重复元素)
#include #include #include template int Compare(const void *a, const void *b){ return *reinterpret_cast(a) - *reinterpret_cast(b);}template void swap(T &a, T &b){ T tmp = a; a = b; b =原创 2014-04-15 21:44:07 · 768 阅读 · 0 评论 -
C/C++几个面试常见细节问题及解答
1. 下面两个表达式有没区别,什么区别?const char *p = "Hello"; char* const p = "Hello"; 2.输出什么,为什么? int t = 0;sizeof(t++); cout3.下面的赋值合法吗?其中的区别是什么?int a = 0;++a = 9;a++ = 9;4.下面程序合法吗?若合原创 2011-10-23 21:26:04 · 542 阅读 · 0 评论 -
Visual Stdio 常用调试技巧
.natvis 文件的介绍Create custom views of native objects in the debugger (e.g. S:\SDK\Qt\Qt5.4\qt5.natvis)https://msdn.microsoft.com/en-us/library/jj620914.aspx使用VS 调试 javascript 配置: 先在IE 中设置 Int原创 2015-04-03 11:10:35 · 631 阅读 · 0 评论 -
C++智能指针的简单实现代码
其中附带部分测试代码#include #include #include template class SmartPointer{public: SmartPointer(T *p); SmartPointer(const SmartPointer &pointer); ~SmartPointer(); SmartPointer& operator=(const Sma原创 2015-04-11 22:46:44 · 537 阅读 · 0 评论 -
VC调试方法(笔记)
Ctrl+B或Alt + F9打开breakpoints(断点)设置对话框从上到下有三个输入框: 1. 输入一个表达式,当表达式的值发生变化时,断点会暂停,否则不暂停 2. 设定查看的数组或是结构的需要watch的个数 3. 设置循环过多少次 才暂停。对于VS2008:先设置断点,按alt + F9,或者是从菜单(Debug->Window->breako转载 2011-11-21 19:34:41 · 730 阅读 · 0 评论 -
安装boost笔记
boost是一个开源的库(主要在C++中应用),其中包含着许多有用的函数库,比如智能指针、数据结构、数学函数等。boost源文件并不很大,但是编译之后往往占用好几个G的空间,其中网上关于如何编译的文章也很多,这里只简单提一下。先下载或在vs2010命令行(编译工具可以是其它)(cd到*\boost_1_43_0\tools\jam\src下执行build.bat,然后,会在*\boost_原创 2011-12-01 10:21:25 · 548 阅读 · 0 评论 -
C++重载操作符的简单实例
/* *重载操作符的简单学习实例,参考《C++ Primer》 *重载操作符要求:必须具有一个类类型的操作数, *优先级与结合性是固定的,不在具有短路求值特性**/#include using std::cin;using std::cout;原创 2011-08-01 22:00:41 · 699 阅读 · 0 评论 -
个人实现的大数模板(加、乘)
目前实现大数的加法及乘法,实现了几个OJ的题目作为测试,若有错误多指正。 #include #include #include /***************************************************************原创 2011-09-05 10:55:55 · 838 阅读 · 0 评论 -
C/C++编程中的一些概念问题
1.下面的代码会有问题吗?char* ptr = NULL;printf("%s\n", ptr);free(ptr);查资料发现当ptr=NULL时free()函数是不做内存释放的,所以上面的程序不会出错。至于printf("%s\n", ptr);利用VS20转载 2011-09-28 22:16:03 · 754 阅读 · 0 评论 -
C++中string小应用
/** 使用string实现字符串按单词反转* 如:olleH !dlrow => Hello world!*/#include #include #include #include using namespace std;int main(int argc,原创 2011-09-29 21:58:38 · 754 阅读 · 0 评论 -
异常处理入门例析
#include #include #include //参考《C++ Primer》int mdiv(int a, int b);int main(){ #ifndef NDEBUG // 预处理,在debug模式下调试 // VC下#ifdef _DE原创 2011-10-03 16:33:10 · 382 阅读 · 0 评论 -
程序中一些需要深入理解的概念
下面是程序设计中一些常见也是容易出错的问题,网上有很多精彩的分析,因此只做个类似目录的条目(将继续更新):1.数组指针与指针数组的区别,及函数指针与指针函数的区别?2.程序中变量的内存存储区? (http://www.cnblogs.com/JCSU/articles/1051579.html)此处分析的比较详细3.类的继承?4.构造函数与析构函数是否能为虚函数?5.int原创 2011-06-16 10:23:00 · 649 阅读 · 0 评论 -
初学C++ associative container(关联容器)
pair类型:#include //需要的头文件std::pair iPair(1, "hello"); //构建变量std::coutmap类型:(需要包含头文件)map是键-值的集合。通常可以将map理解为关联数组。键必须定义'//map简单的使用,需要包含头文件typedef std::pair etype;std::map imap;//several原创 2011-07-24 16:10:22 · 1620 阅读 · 0 评论 -
程序计时及时间获取(Windows系统C++)
对于相对高精度的计时:使用供WIN9X使用的高精度定时器:QueryPerformanceFrequency()和QueryPerformanceCounter(),要求计算机从硬件上支持高精度定时器。需包含windows.h头文件。//需要包含 头文件#include LARGE_INTEGER time_start, time_end;LARGE_INTEGER frequ原创 2011-07-25 21:48:07 · 1918 阅读 · 0 评论 -
二进制标准输入输出防止"\r\n"与"\n"之间自重转换
使用 std::cin.read() 从文件或者管道中读取字符时,当读到 "\r\n" 时会自动转换为 "\n",同样std::cout.write() 写"\n" 时会写成 "\r\n"。如果要以二进制模式读写文件,可以采用:std::filebuf fb;fb.open ("test2.txt", std::ios::in | std::ios::binary); 一种更通用的方式是原创 2013-12-31 19:02:44 · 2245 阅读 · 0 评论