C++相关
文章平均质量分 67
tiantangniao232
喜欢编程
展开
-
如何在类中声明数组?
一句不用说,看看下面的代码吧。不信的就试试。#includeiostream>using namespace std;class Dog{public: Dog():MAX(max) {} enum { max = 5 };//关键代码 int food[max]; int MAX;};int main(){ Dog dog; for( int i原创 2007-09-24 14:28:00 · 2587 阅读 · 0 评论 -
对引用的认识
首先引用本身是占存储空间的,引用存储的就是所引用对象的地址 比如 int a=5; int& b=a; int& c=b; 因此 引用 b 和 c 存储的都是变量 a 的地址,但是 通过 &b 或 &c 是无法取到引用 b 和 c 本身的地址的 取到的是变量 a 的地址,这就是为什么说引用比指针更安全!!因为无法取到引用 b 和 c 的地址意味着你就 无法改变引用 b原创 2007-10-28 20:58:00 · 1465 阅读 · 0 评论 -
-1在计算机中的存储
int a = -1; 在内存中的存储状态为:(0x0012FF70为 a 的地址) 0x0012FF70:FF FF FF FF unsigned int b = 4294967295;四字节最大整数 在内存中的存储状态为:(0x0012FF6C为 b 的地址) 0x0012FF6C:FF FF FF FF 可见-1 和 4294967295 在内存中都以 FF FF FF FF表示原创 2007-10-28 16:26:00 · 3292 阅读 · 0 评论 -
对const的认识
1、什么是const?常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2、为什么引入const? const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。3、cons有什么主要的作用?(1)可以定义const常量,具有不可变性。例如:const int Max=100;int Array[转载 2007-10-26 20:09:00 · 1357 阅读 · 0 评论 -
对指针的认识-------------------------指针的复杂声明
在前两篇文章都理解的基础上,本篇文章将教你如何去理解指针的复杂声明。首先先介绍一下 左右法则:其实就是------向右看,向左看首先找到变量名,然后向右看,遇到括号改变阅读方向,重复这个过程,直到解析完整个表达式。看到上面的法则,如果没有接触过这个法则,可能会不知所云。下面就通过一些具体的例子来教你如何理解复杂的指针声明:第一个:int (*p)[3];1-----首先找到变量名 p ,从变量原创 2007-10-28 11:44:00 · 1433 阅读 · 0 评论 -
为什么CWinApp构造函数中的this是指向派生类的
以前对这个问题也没有太注意,今天碰到提出就想了想,给出以下解释先看一个很简单的类#includeclass Dog{public: Dog( ) { m_age = 1; }private: int m_age;};class LoveDog: public Dog{public: LoveDog( ) { m_food = 10;原创 2007-10-01 16:55:00 · 2107 阅读 · 0 评论 -
C++基础知识
1------静态全局变量不能被其他文件访问 这样做的好处是当前文件的全局变量不会对其它文件的全局变量造成影响 比如: 当前文件有一个全局变量 static int num = 8; 另一个文件中也有一个全局变量 int num ; 当你在当前文件中想用另一个文件原创 2007-09-27 09:00:00 · 1244 阅读 · 0 评论 -
结构体大小问题
当在C中定义了一个结构类型时,它的大小是否等于各字段(field)大小之和?编译器将如何在内存中放置这些字段?ANSI C对结构体的内存布局有什么要求?而我们的程序又能否依赖这种布局?这些问题或许对不少朋友来说还有点模糊,那么本文就试着探究它们背后的秘密。 首先,至少有一点可以肯定,那就是ANSI C保证结构体中各字段在内存中出现的位置是随它们的声明顺序依次递增的,并且第一个字段的首地址转载 2007-09-27 16:07:00 · 2194 阅读 · 0 评论 -
对C++构造函数的认识
学C++已经有一段时间了,但是对一些东西的理解任然停留在书本上,没有更深刻的认识。比如如题。 曾有人问过我构造函数的作用是干什么的?回答很简单:“用来构造对象的”。于是满脑子就形成了这样一种认识:一个对象只有在调用了构造函数以后,它所对应的内存块才有效。此思想存在了相当长的时间,可以说直到写这篇文章前夕。我们在写构造函数时,如果构造函数形参和类成员变量同名,我们会用this原创 2007-10-22 20:58:00 · 1494 阅读 · 0 评论 -
对静态变量和全局变量的认识
先看一小段程序:#includeiostream>using namespace std;int nG = 1;void Fun( )...{ static gg = 2; int local = gg;}int main( )...{ ----------------1 static int a原创 2007-10-23 10:11:00 · 3338 阅读 · 4 评论 -
对C++析构函数的认识
我们通常认为调用了析构函数以后对象就被销毁了。(我所指的销毁是对象对应的内存块。) 对象在调用了析构函数以后真的被销毁了吗 ? 看一个例子: #includeiostream>using namespace std;class A...{public: A( ) ...{ cout"构造函数调用"endl;//调试时没有这一句原创 2007-10-22 22:16:00 · 3261 阅读 · 4 评论 -
派生类与基类之间的对象模型
先看一段代码: class CAnimal...{public: CAnimal( ) ...{ age = 1; num = 0; } CAnimal(int ag, int nu) ...{ age = ag; num = nu; } int age; int num;};class原创 2007-10-29 10:01:00 · 2393 阅读 · 0 评论