- 博客(30)
- 资源 (39)
- 收藏
- 关注
转载 “attach to process"列表在Visual C++ 调试器中为空
from:http://support.microsoft.com/kb/235434症状在调试器中的"附加到进程"列表为空。重要说明: 本文包含有关编辑注册表的信息。在您编辑注册表之前,请确保您了解如何在发生问题时将其恢复。有关如何执行此操作的更多信息,请查看 Regedit.exe 或 Regedt32.exe 中的"还原注册表项"帮助主题中的"还原注册表"帮助主题。
2012-11-29 15:11:54 2543
原创 一个c++的 http get 代码
代码如下(摘自:http://bbs.csdn.net/topics/320012075):#include #include#include#pragma comment(lib, "ws2_32.lib") int main(int argc, char* argv[]){ char server_name[256]= "www.163.com"; WSAD
2012-11-28 15:14:53 1469
原创 一个URL编码和解码的C++类
类转自:http://www.cnblogs.com/xiaoka/articles/2585189.html下面的代码实现了一个用于C++中转码的类strCoding。里面有UTF8、UNICODE、GB2312编码的互相转换。.H文件:#pragma once#include #include #include using namespace std;clas
2012-11-28 12:19:03 4149
原创 C++URL编码和解码
以下是url中可能用到的特殊字符及在url中的经过编码后的值:特殊字符的含义URL编码# 用来标志特定的文档位置 %23% 对特殊字符进行编码 %25& 分隔不同的变量值对 %26+ 在变量值中表示空格 %2B/
2012-11-28 10:45:01 10727 2
转载 VS调试技巧之----Attach to Process
attach to process: 用于和进程绑定,方便调试。你有没有这样的经历:按F5开始调试时,程序需要好长时间才能启动,比如可能需要加载比较大的文件或资源,这时候你可能需要等很长时间,而下次调试时又不得不等很长时间以待程序启动。其实这浪费了很多的时间。那有没有比较好的解决方法呢,有,就是VS提供的Attach to Proces 的功能。你只要把待调试的程序启动,然后把程序和源码att
2012-11-28 10:28:35 1554
转载 warning LNK4089: all references to "USER32.dll" discarded by /OPT:REF
warning LNK4089: all references to "USER32.dll" discarded by /OPT:REF开发平台:VC出现错误:warning LNK4089: all references to "USER32.dll" discarded by /OPT:REF。错误原因:由于打开了优化选项,而且程序中包含或加入了USER32.dll,但是却没有调
2012-11-28 10:24:50 1124
原创 条款31 让函数根据一个以上的对象类型来决定如何虚化
普通函数重载#includeusing namespace std;class SpaceShip;class SpaceStation;class Asteriod;class GameObject{ public:};class SpaceShip: public GameObject{ public:};class SpaceStati
2012-11-27 15:20:38 764
原创 char* 指针初始化小练习
代码1:#includeusing namespace std; int main(){ char* p2; p2="123456"; char* p="123456"; cout<<p<<endl<<p2<<endl; return 0;}第一种:char* p="123456";//定义并初始化,这是推荐的格式,即使
2012-11-27 13:55:16 7329 1
原创 带有private constructors的class不能被继承
实例:代码如下#includeusing namespace std;class Base{ private: Base(){cout<<"Base()"<<endl;}};class Derived:public Base{ public: Derived(){cout<<"Derived"<<
2012-11-22 18:55:50 1156
原创 条款26的一个补充小例子
一个补充小例子:#includeusing namespace std;class Printer{ private: Printer(){cout<<"Printer()"<<endl;} public://注意这里是public,如果不是public,则CPFMachine():p(Printer::thePrinter())会报错
2012-11-21 19:33:58 795
原创 结构体和类的区别
1.C的结构体和C++结构体的区别 1.1 C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数。所以C的结构体是没有构造函数、析构函数、和this指针的。 1.2 C的结构体对内部成员变量的访问权限只能是public,而C++允许public,protected,private三种。 1.3 C语言的结构体是不可以继承的,C++的结构体是可以从其他
2012-11-21 19:25:35 2002
转载 解析C++中的内部连接与外部连接
1.声明 一个声明将一个名称引入一个 作用域; 在c++中,在一个作用域中重复一个声明是合法的 以下都是声明: int foo(int,int); //函数前置声明 typedef int Int; //typedef 声明 class bar; //类前置声明 extern int g_var; //外部引用声明 class bar; //类前
2012-11-21 18:56:20 895
原创 条款26:限制某个class所能产生的对象数量
允许0个或1个对象方法1:private constructor + global friend#includeusing namespace std;class Printer{ private: Printer(){cout<<"Printer()"<<endl;} friend Printer& thePrinter();
2012-11-21 18:16:35 717
转载 特殊数据类型成员变量的初始化
有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括:a. 常量型成员变量b. 引用型成员变量c. 静态成员变量d. 整型静态常量成员变量e. 非整型静态常量成员变量 对于常量型成员变量和引用型成员变量的初始化,必须通过构造函数初始化列表的方式进行。
2012-11-21 15:58:08 588
原创 c++前置声明小例一则
#includeusing namespace std;class B;//前置声明 A中有B class A{ public: int a; B* b; A(B*b):b(b),a(10){cout<<"A()"<<endl;}};class B//B中有A { public:
2012-11-21 15:56:05 546
转载 关于C++中的前置声明
今天一朋友问及C++中的前置声明问题,下面是我给出的回答。 在编写C++程序的时候,偶尔需要用到前置声明(Forward declaration)。下面的程序中,带注释的那行就是类B的前置说明。这是必须的,因为类A中用到了类B,而类B的声明出现在类A的后面。如果没有类B的前置说明,下面的程序将不同通过编译,编译器将会给出类似“缺少类型说明符”这样的出错提示。代码一:// Forwa
2012-11-21 00:17:44 671
转载 一个类中静态容器对象的初始化问题
某网友问:“一个类中,有一个成员变量static set SET,怎么用一个1000个元素给它初始化?” 一个类中特殊的成员变量的初始化是非常需要技巧的事情,以前针对这个问题专门写过一篇博文:特殊数据类型成员变量的初始化但这篇博文,并没有包括上面那位网友提出的问题,为此给出以下代码:#include #include using namespace std;
2012-11-21 00:14:31 1604 1
原创 friend成员函数不受public/protected/private的限制
示例代码如下:#includeusing namespace std;class B{ public: B(int a,int b):bx(a),by(b){} private: int bx,by; // friend void testFriend(B& b);};void t
2012-11-20 23:54:39 966
转载 html表格详解
html表格详解 2010-08-28 17:49HTML表格用表示。一个表格可以分成很多行(row),用表示;每行又可以分成很多单元格(cell),用表示。这三个Tag是创建表格最常用的Tag。两行(Row)三列(Column)的表格100200300400500600border属性在缺省情况下,如果不设置表格的边界,表格是不显示
2012-11-20 11:20:31 1996
转载 增加开机启动项
这段时间,想在机房上网,必须登一个网络认证软件。这个可以理解,为了安全嘛。但是呢,这个软件没有设置开机启动的选项,自从有了这个软件,之前设置的开机启动软件都歇菜了,比如:qq等需要联网的软件。这样一来,每次开机之后,需要手动启动网络认证软件不说,之前设置的那些必须启动的软件,现在都需要手动启动。这样,每次开机都变得相当繁琐,不爽!所以呢,必须让它也开机启动。下面是我总结的设置开机启动的几种方法。
2012-11-19 21:56:27 727
转载 C++中map容器的说明和使用技巧
C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。 一、map的说明 1 头文件 #include 2 定义 map my_Map; 或者是typedef map MY_MAP; MY_MAP my_Map; 3 插入
2012-11-14 22:00:28 524
转载 走技术线,还是技术管理线?
最近因为要给刚毕业的学生做一次演讲,所以就职业发展这类话题先以写博客的形式做一些思考,希望届时能给同学们带来质量更高的内容。我在《驾驭你的“职场布朗运动”》一文中提出了“走技术线,还是技术管理线?”这一问题,但实际上并没有给予解答。在此补上。在正式解答这一问题之前,我想先强调职业发展的“黄金期”。每个人的职业发展我认为大致会经历“黄金期”、“平缓期”、“突破期”和“衰退期”,如下图所示
2012-11-14 12:36:19 880
原创 char* p="abc"与char p[] = "abc"区别
见注释:#includeusing namespace std;int main(){ char* ptr="abcd";//"abc"是字符串常量,存储在常量区,ptr指向常量区的地址 cout<<ptr<<endl; cout<<ptr[1]<<endl; // ptr[1]='x'; //出错!!由于是常量区地址,所以不能修改其值 cout
2012-11-13 15:09:44 1600
原创 条款25:将constructor 和non-member function虚化
1.构造函数虚化首先,构造函数是不能是虚函数的。见:构造函数为什么不能是虚函数 条款25所指的都是行为上类似虚构造函数,并不是真正的把构造函数实现的虚化。见MEp123.有一种特别的virtual constructor--所谓virtual copy constructor。返回一个指针,指向其调用者(某对外)的一个新副本。#includeusing namespace
2012-11-13 14:29:05 788
转载 构造函数为什么不能是虚函数
1. 从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。2. 从使用角度,虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造函数
2012-11-13 11:16:12 1198
原创 const小练习一则,把const int*去除常量性赋给int*
#includeusing namespace std;int main(){ const int a=10; // a=1000;//error: assignment of read-only variable `a' int b=a; b=a+10; const int *pInt=&b; cout<<"*pInt: "<<*pInt<<endl; pInt
2012-11-11 22:13:21 1055
原创 基于jwSMTP的C++发送Email的中文Demo
作为对基于jwSMTP的C++发送Email的Demo的一个可运行中文版补充。新测可用VC60版本为:jwsmtp-1.32.15ForCh_VC60参考jwsmtp 发送中文的邮件,资源:jwsmtp-1.32.15_CH_VS
2012-11-08 11:11:54 1609
原创 opecv读取每个像素点
以下代码实现读取用opencv的函数读取每个点的像素。 CvScalar backcolor; backcolor = CV_RGB(0,0,200); CvScalar pp; for(int i=0;iheight;i++) { for(int j=0;jwidth;j++) { pp = cvGet2D(dst_img3,i,j);//获取当前像素点像素值 /
2012-11-08 10:37:57 1115
转载 一网打尽中文编码转换---6种编码30个方向的转换
一网打尽中文编码转换——6种编码30个方向的转换1.问题提出 在学编程序时,曾经有人问过“你可以编一个记事本程序吗?”当时很不屑一顾,但是随着学习MFC的深入,了解到记事本程序也并非易事,难点就是四种编码之间的转换。对于编码,这是一个令初学者头疼的问题,特别是对于编码的转换,更是难以捉摸。笔者为了完成毕业设计中的一个编码转换模块,研究了中文编码和常见的字符集后,决定解决"记事
2012-11-06 21:34:32 944
原创 char型数据存储成Int(16进制值相互转换)
在一个报文里面以两个字节来存储一个数据,表示整形的数据。方法如下:#includeusing namespace std;int main(){ char a=0x80; char b=0x00; cout<<(int)(a|b<<8)<<endl;//出问题了,本来应该是128,结果成了-128 cout<<(int)((unsigned char)a|(unsigned
2012-11-05 21:39:05 5558
ffmpeg-latest-win32-static.7z
2014-08-19
octopress-tag-cloud
2013-12-25
octopress-tag-pages
2013-12-25
Pez_GBC_Fonts.rar
2013-10-14
srvany_instsrv.zip
2013-05-15
Visual+Assist+X+10.5.1738.rar
2012-11-30
C++库邮件发送jwsmtp-1.32.15.tar
2012-10-25
ACE详细介绍译文
2012-08-14
C++网络编程学习笔记(ACE)
2012-08-14
数学之美(吴军)
2012-08-14
MODBUS协议中文版
2012-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人