Unity程序开发的C++笔记
2023-08-27 21:10 作者:ancientElement | 我要投稿
在C++中,我们在C++的头文件中声明 类、变量、函数。就可以在其他地方用include的头文件,然后再做定义。
第2节 、C++中类的实例化
在C++中实例化一个类不需要用new。也可以用new,但是区别是:不使用new,开辟栈空间,使用new开辟的空间为堆空间。
第3节、指针
在C++中,一个指针所占的字节数由操作系统的位数决定。一个指向int类型的指针,在32位操作系统中是4个字节在64位操作系统中是8个字节。
此外 int *a 和int* a 是同没有差别的,只是写法上的不同。同理,当我们使用int数组作为形参时 int a[] 和 int* a也没有区别,都是传递指针。
补: 作为形参时, int a[] 和 int* a还是有区别的,int a[] 是常量,int* a是变量
在C++中,我们可以使用delete的关键字来释放临时的空间。
第5节、函数的调用
在C++中必须先声明函数才能定义。
第6节、类
C++的类有构造函数和析构函数。
1.析构函数
析构函数是C++内释放的时候调用的函数。
2.构造函数
对象创建的时候调用的函数。 C++中不使用new,它也会调用构造函数。在C++中如果用户定义有参构造函数,那么C++不会提供无参构造函数。这一点与Java和C sharp不同。
此外C++还有拷贝构造函数。
3.拷贝构造函数
默认提供的拷贝构造函数对C加对C++对象的属性进行浅拷贝。
这就是问题所在,如果上一个函数在释放之后将其变量delete掉那么下一个函数在拷贝时。得到的值就是空。所以我们要自定义拷贝构造函数。