
C++知识
barech
开始学习的菜鸟
展开
-
C++编程中,变量命名的一些通用规则
参考了很多人的blog 终于整理出下面的东西 常用数值类型的变量名前缀a Array 数组b BOOL (int) 布尔(整数)by Unsigned Char (Byte) 无符号字符(字节)c转载 2008-12-30 16:29:00 · 1366 阅读 · 0 评论 -
C++中,静态指针成员变量
<br />静态指针成员变量用new得到的,就一定是在heap上,在程序退出时需要调用delete对指针成员进行析构。<br /> <br /> <br />由于静态成员的特殊性,所以如果需要对静态成员提前析构,则需要创建临时指针变量得到静态指针成员的值,然后通过临时指针变量对所指向的对象进行析构。然后将静态指针成员赋值为NULL。<br /> <br /> <br />mark:发现一个有趣的bug,在进行静态成员变量的析构时,vs2008竟然上报指针指向的地址不在HEAP内,百思不得其解啊。<br />原创 2011-01-22 09:33:00 · 7487 阅读 · 1 评论 -
C++ Literal Constant的定义
<br />http://cpp.comsci.us/etymology/literals.html原创 2010-06-03 23:35:00 · 1771 阅读 · 0 评论 -
SOCKET编程小知识
int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen);s(套接字): 指向一个打开的套接口描述字level:(级别): 指定选项代码的类型。SOL_SOCKET: 基本套接口IPPROTO_IP: IPv4套接口IPPROTO_IPV6: IPv6套接口IPPROTO_TCP: TCP套接口op原创 2009-12-02 20:46:00 · 806 阅读 · 0 评论 -
C++中的字节对齐
选择自 soloist 的 Blog 当在C中定义了一个结构类型时,它的大小是否等于各字段(field)大小之和?编译器将如何在内存中放置这些字段?ANSI C对结构体的内存布局有什么要求?而我们的程序又能否依赖这种布局?这些问题或许对不少朋友来说还有点模糊,那么本文就试着探究它们背后的秘密。 首先,至少有一点可以肯定,那就是ANSI C保证结构体中各字段在内存中出现的位置是随它们的声明顺转载 2009-07-06 15:45:00 · 1021 阅读 · 0 评论 -
VS 2008 Feature Pack使用
微软在周一释出了"Microsoft Visual C++ 2008 Feature Pack”,这个功能增强包主要在应用程序的“Look and Feel”和C++的TR1两个方面做了增强。可惜的是,这个增强包目前只有英文版,其他语言版本要等到VS2008的SP1了。在界面方面,集成了BCGSoft的界面控件,现在可以利用VC2008,轻松创建VS2005,Office 2007风格的应用程原创 2009-07-02 09:44:00 · 6608 阅读 · 3 评论 -
VS 2005的depends工具
VC自带的Depends软件,在VS2005中其路径为:*/Microsoft Visual Studio 8/Common7/Tools/Bin下,双击Depends.exe然后打开你需要查看的.exe文件即可。 还要有以下几个注意事项:& ?* ^1)所编的软件所需的Dll文件,可以得到相应的Dll路径、版本、属性等[2)窗口分四部分: 左上角是Dll信息窗口原创 2009-06-23 11:07:00 · 3117 阅读 · 0 评论 -
一个很不错的网站
http://www.uml.org.cn 内容很是全面,抄袭一篇文章 一、一个经过编译的C/C++的程序占用的内存分成以下几个部分:1、栈区(stack):由编译器自动分配和释放 ,存放函数的参数值、局部变量的值等,甚至函数的调用过程都是用栈来完成。其操作方式类似于数据结构中的栈。2、堆区(heap) :一般由程序员手动申请以及释放, 若程序员不释放,程序结束时可能由OS转载 2009-05-19 09:45:00 · 777 阅读 · 0 评论 -
Startup代码
在C++ 中,有四种方法可以产生一个对象。第一种方法是在堆栈(stack)之中产生它:void MyFunc(){CFoo foo; // 在堆栈(stack)中产生foo 对象...}第二种方法是在堆积(heap)之中产生它:void MyFunc(){...CFoo* pFoo = new CFoo(); // 在堆(heap)中产生对象}第三种方法是产生一个全域对象(同时也必然是个静态对原创 2009-04-08 21:39:00 · 813 阅读 · 0 评论 -
VC中,对话框置灰
第一种方法,用ModiftMenu()涵数来实现:CMenu* pMenu = this->GetSystemMenu(FALSE);pMenu->ModifyMenu(SC_CLOSE,MF_BYCOMMAND | MF_GRAYED );第二种方法,用EnableMenuItem()涵数来实现:CMenu* pMenu = this->GetSystemMe原创 2008-12-09 18:12:00 · 1260 阅读 · 0 评论 -
copy命令使用小技巧
<br />在使用VS2008开发过程中,设置了post_build event,将需要提供给外部使用的头文件拷贝到发布目录下。<br /> <br />这存在一个问题是copy命令默认文件路径不允许存在空格,导致创建的工程如果放在空格目录下会导致工程build失败。<br /> <br />将dest与src加上一个引号,就搞定了原创 2011-01-26 14:24:00 · 2224 阅读 · 0 评论