[Boolan-C++学习笔记]第二周整理

1、对于String类型的类(含有指针)

其中的指针成员能够灵活的申请存储空间,但指针操作又带来内存泄漏的风险,变更指针的操作需要尤为谨慎。

要点在于写好BigThree

构造函数

{

  完成成员初始化(列表);

  完成存储空间的申请;

}

拷贝构造函数

{

  拷贝成员;

  申请新的存储空间并将参数对象的内容复制;

}

拷贝赋值函数

{

  检查是否为自身赋值;

  完成一般成员的拷贝;

  delete当前对象中指针成员的空间;

  根据新的对象new并且复制内容;

}

2、生命周期

stack 是作用域的内存空间,存放参数返回值等

heap 是系统提供的globalmem

3、new

new关键字申请得到的内存空间debug(更大)和release状态不同,但都有内存对齐的要求。

时间: 2024-10-07 06:15:53

[Boolan-C++学习笔记]第二周整理的相关文章

Linux学习笔记第二周第二次课(1月30日)

2.10 环境变量PATH 查命令路径及别名#which rm 显示当前环境变量#echo $PATH 命令也是一个文件,可以用绝对路径当命令使用: 命令想直接使用,必须加入到环境变量PATH里#PATH=$PATH:/tmp/ 永久环境变量#vi /etc/profile   最后加入一行PATH=$PATH:/tmp/ 2.11 cp命令 cp,copy复制: 拷贝文件(是否覆盖)cp /etc/passwd /tmp/1.txt 拷贝目录,建议所有都要加/,#cp -r /tmp/amin

Linux学习笔记第二周第三次课(1月31日)

2.14 文件和目录权限chmod r,read可读:w,write可写:x,可执行:r读对应数字4,w对应数字2,x对应数字1: rwx=7,rw-=6,--x=1:rw-r--r--=644: chmod,change mode更改权限命令: 更改文件2.txt权限为所有者可读可写可执行,所属组不可读写执行,其他人不可读写执行,命令为#chmod 700 2.txt 临时关闭防火墙selinux,命令#setenforce 0 永久关闭防火墙selinux,命令#vi /etc/selinu

Linux学习笔记第二周第四次课(2月1日)

2.18 特殊权限set_uid 权限s,set_uid,除了所有者之外的用户,执行的一瞬间临时拥有所有者权限: 文件要满足是二进制可执行文件: 用户密码文件/etc/shadow 文件加set_uid权限#chmod u+s /usr/bin/ls ls -l查看权限可以看到,rws权限:红色显示文件 文件减set_uid权限#chmod u-s /usr/bin/ls 文件加set_uid权限,另外一个方法#chmod u=rws /usr/bin/ls ls -l查看权限可以看到,rwS权

Linux学习笔记第二周第五次课(2月2日)

2.23/2.24/2.25 find命令 which搜索文件及文件别名,命令为#which ls where根据库找,要更新,有局限性#whereis ls locate模糊搜索,不精准#locate ls 安装locate,命令为#yum install -y mlocate 依赖数据库文件/var/lib/mlocate/mlocate.db,这个文件每天凌晨4点生成更新: 手动生成,命令为#updatedb 清屏ctrl+l,退出ctrl+d,不执行或中断ctrl+c,光标前字符删除ct

java学习笔记 第二篇 核心技术(二)

第十四章 集合类 集合类用来存放对象的引用.继承关系如下图: 14.1 Collection 接口 是层次结构中的根接口,构成Collection的单位称为元素.Collection接口不能直接使用,但该接口提供了添加元素.删除元素.管理数据的方法. Collection接口常用方法: 14.2 List 集合 包括List接口以及List集合的所有实现类.List集合中的元素允许重复,各元素循序就是对象插入的顺序 1.List接口,两个重要方法: get(int index): 获取指定索引位

mysql 学习笔记 第二天

插入表格数据: Insert into table_name set columns_1=value1,columns_2=value2,对于没有赋值的列,将会取默认值,并且这个方法只能一次插入一个数据 利用文本方式插入数据: Load data local infile‘径’into table table_name: Select 的通用形式: Select columns from table or tables where conditions;from一般不能少的,但是当查询的时候没有

Mysql Cookbook学习笔记第二章

1,使用python链接mysql + ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # -*- coding: utf-8 -*- # connect.py --连接到MySQL服务器 import sys import MySQLdb try:     conn = MySQLdb.connect(db = "cookbook",                            host = "localhost"

UI学习笔记---第二天

程序的执行流程 一.自定义视图 自定义UILebal-UITextField视图 ?定义视图:系统标准UI之外,?己组合而出的新的视图. 实际开发中,我们还需?定义视图.积累?己的代码库.?便开发. ?己封装的视图,能像系统UI控件一样,?于别的项目中,能?大降 低开发成本,提?开发效率. 自定义视图步骤 根据需求的不同,?定义视图继承的类也有所不同.?般?自定义的视图会继承于UIView.以下是?定义视图的要点: 1.创建?个UIView子类 2.在类的初始化方法中添加子视图 3.类的.h?文

读书笔记第二周《程序员的自我修养》

读书笔记第二周<程序的自我修养> ??刚看到书名的时候以为这是一本讲述程序员为人处世,享受生活的文章,当我抱着当小说看消遣的心情从群里下载下来的时候,却发现这实际上是一本干货满满的书.当我看到副标题--链接,装载与库, 我意识到这会是一本让我受益匪浅的书,因为我没有选修过操作系统,编译原理相关的课程,对于代码 是如何在电脑上跑起来的是毫无概念的,每次配置环境变量,配置链接库,都是一头雾水.而且我认为要成为一个优秀的程序员 ,仅仅满足于代码能运行是远远不够的,只有对背后的运行机制有所了解,才能写