首页 > 学院 > 开发设计 > 正文

C++面向对象高级编程(上)_Boolan(W2)

2019-11-14 10:23:22
字体:
来源:转载
供稿:网友

拷贝构造、拷贝赋值、堆栈,模板笔记

1、在不带指针的类中可直接使用,编译器默认的拷贝构造,拷贝赋值,在带指针的类中需要手动重新编写。2、字符串长度等于字符数+1,字符串以‘/0’结束3、动态分配的内存需要利用析构函数释放内存空间new/delete。4、类中带指针成员必须手动重写拷贝构造与拷贝赋值5、浅拷贝不带指针的拷贝或者只拷贝指针不拷贝对象动态申请的资源,例如编译器提供的默认拷贝6、深拷贝拷贝构造以一个对象为蓝本构造一个新的对象,新对象创造足够的空间存放蓝本内容然后拷贝蓝本内容的过程(拷贝对象指针的同时拷贝对象动态申请的资源)7、拷贝赋值指两个对象都有内容,左值清空重新分配右值大小空间并把右值赋值给左值8、<<不可以是一个成员函数,使用者在用的时候方向会相反,所以最好写成全局函数9、Stack,是存在于某个作用域的一块内存空间,例如当你调用函数,函数本身即会形成一个栈用来放置它所接收的参数,以及返回地址。其生命在作用域结束之际结束10、Heap,是指由操作系统提供的一块全局内存空间,,程序可动态分配从某中获得若干区块11、堆上分配的内存都需手动释放内存,否则造成内存泄漏12、如果对象是静态(static)对象,其生命在作用域结束之后仍然存在,直到整个程序结束。13、全局对象,写在任何作用域之外,其生命在整个程序结束之后才结束,作用域是整个函数。14、new先分配一个内存空间在调用构造函数15、delete先调用析构函数,再释放内存16、array new 搭配 array delete,否则会内存泄漏17、传引用只要不是local object就可以18、static 与对象脱离,不属于对象,属于整个类,所有对象可以共享19、一个函数处理很多个对象的时候,类成员函数通过this指针找到处理的东西的内容在哪里20、什么时候会使用static数据,固定不变的数据且所以对象共享同一数据时需要加static21、什么时候会使用static函数,static没有this指针,只能处理静态数据22、如果是数据是静态的需要在类外初始化数据,初始化时不需要加static23、调用static函数的方式,通过对象或者通过类名调用24、类模板格式template <typename T>25、函数模板格式template <class T>26、namespace,标准库所有的东西都被包装在namespacd中27、用法(using directive)using namespace std(using declaration)using std::cout

或者每次使用标准库封装内容时加上std::std::cout.


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表