火炬传递分境外传递和境内传递两部分
火炬传递分境外传递和境内传递两部分
“new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结。
C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
Viusal Studio 2005极大地丰富了它的库,可以说是科研背后的清障机和加速器,对于这一点,我想大部分人都是这么认为的。它带来的大量工具及新增的功能性函数使开发人员的生活越来越快乐、简单。但对于我来说,所有这些与Visual Studio2005在C++上做的改变相比却都显得是那么苍白无力。这篇文章中,我着重叙述Viusal Studio 2005版本给C++带来的变化。
下面以void func1( MYCLASS *&pBuildingElement ); 为例来说明这个问题。在某种意义上,"*"和"&"是意思相对的两个东西,把它们放在一起有什么意义呢?。为了理解指针的这种做法,我们先复习一下C/C++编程中无所不在的指针概念。我们都知道MYCLASS*的意思:指向某个对象的指针,此对象的类型为MYCLASS。 Void func1(MYCLASS *pMyClass);
指针学习不好关键是概念不清造成的,说的简单点就是书没有认真看,指针的学习犹如人在学习饶口令不多看多学多练是不行的,下面是两个很经典的例子,很多书上都有,对于学习的重点在于理解*x和x的理解,他们并不相同,*x所表示的其实就是变量a本身,x表示的是变量a在内存中的地址,如果想明白可以输出观察cout<<*x"|"x;,当定义了int *x;后对x=&a的理解的问题。
C语言的指针相当的灵活方便,但也相当容易出错。许多C语言初学者,甚至C语言老鸟都很容易栽倒在C语言的指针下。但不可否认的是,指针在C语言中的位置极其重要,也许可以偏激一点的来说:没有指针的C程序不是真正的C程序。