C++学习记录

2021/01/21

一、如何计算一个类所占字节大小? 空类占一个字节,其他情况字节大小计算如下(遵循内存对齐原则) https://my.oschina.net/u/4352688/blog/4680678 

二、sizeof 运算符不会计算 静态成员变量 

class CMyclass{
    int n;
    static int s;
};    //则sizeof(CMyclass)等于4

 三、基本的指针类型sizeof(64位系统下是8,32位系统下是4),指针数组sizeof(数量乘以指针类型大小)

四、const 指针 int * const intPointer (限制的是intPointer 不能变,也就是限制了指针指向的地址不能改)  const int *  intPointer (限制的是 *intPointer,也就是限制了 *intPointer 即不能改变指针指向的地址里存储的值)  const int * const intPointer (限制*intPointer 、intPointer 都不能改)

五、引用  int &b = a; (等价于 int * const b = &a;也就是不能改变指向的地址 -- 即只能是一个变量的引用,可以改变指针指向的地址里存储的值)   const int &b = a;(等同于 const int * const b = &a)

六、new与malloc 区别:new新建一个对象(调用构造函数,会对变量初始化等等)   malloc 单纯的分配一块内存 (不会调用构造函数,不做变量初始化等的)

2021/01/23

一、c++ 容器:vector、list、deque、set、map  常用的数据结构:数组(array) , 链表(list), tree(),(stack), 队列(queue), 集合(set),映射表(map)  (https://www.imooc.com/article/295346 )

二、c++ map采用是红黑树 c++ 11有了unorededmap(基于散列表 又称 hash表)

2021/01/28

一、void * 类型 : 可以指向任意类型的数据,就是说可以用任意类型的指针对 void 指针对 void 指针赋值 ; 如果要将 void 指针 p 赋给其他类型的指针,则需要强制类型转换\

二、size_t类型 : size_t == unsigned __int64 主要目的是为了 不同平台移植 size_t的取值range是目标平台下最大可能的数组尺寸   

2021/01/28

一、union(联合) struct为每个字段在不同的偏移处分配存储空间,而联合则将所有的字段重叠在内存中的相同偏移处 用途:1、创建别名  2、将较大的对象分解成组成这个对象的各个字节 (https://blog.csdn.net/feimor/article/details/6858103

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值