您的位置:首页 > 编程语言 > C语言/C++

C++ 学习记录,小技巧

2012-11-19 21:45 267 查看

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.假如我们要存放大量的数据.本显然是不行的.那么就得放到堆里.堆是一大堆不连续的内存区域.在系统中由链表将它们串接起来.因此它可存放空间很大.

栈由系统自动分配内存.堆要程序员进行申请.

栈中空间比较小.只有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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: