C++ 学习记录,小技巧

1.    C++和C#定义变量的区别:

C++:一般在定义变量时一定要初始化值,否则如果变量没有赋值时。系统会得到一个不确定的值。

C#:则不用,如果一个变量没能赋值就使用.VS的编译将不能通过。

2.    C++的常量和引用

  常量和引用只能被初始化.而不能被赋值.

#include <iostream>

using namespace std;

class rectangle

{

public:

       //:length(5),width(6)专门给类变量初始化使用的.

       rectangle():length(5),width(6){cout<< length*width<<endl;}

       //当这个变量定义为常量是.不行在方法体中赋值.只能够初始化.

       //     rectangle(){length=5;width=6;cout<< length*width<<endl;}

      

       int area(){return length*width;}

private:

       const int length;//当这个变量定义为常量是.不能在方法体中赋值.只能够初始化.

       int width;

};

int main()

{

       rectangle *a=new rectangle;

       cout<<a->area()<<endl;

       return 0;

}

3.    栈和堆的区别.

栈由于是系统自动分配.因此速度较快.但是缺点是可存放比较小,只有2M.假如我们要存放大量的数据.本显然是不行的.那么就得放到堆里.堆是一大堆不连续的内存区域.在系统中由链表将它们串接起来.因此它可存放空间很大.

  1. 栈由系统自动分配内存.堆要程序员进行申请.
  2. 栈中空间比较小.只有2M.堆的上限是系统有效的虚拟内存.

详细看: http://hi.baidu.com/blackxcq/blog/item/b22b8f3d26fc8402bba1676b.html

A a; //定义栈对象.

A *a=new A;//定义堆对象.

 

4.    C++不能为一个对象不能定义两个指针.原因当一个对象是被销毁时.一个指针就指向

参考消息:http://www.enet.com.cn/eschool/video/autohtml/310/682/14.shtml

posted @ 2012-11-19 21:45  游天居士  阅读(227)  评论(0编辑  收藏  举报