C++学习笔记

一、顺序容器

vector、deque、list、forward_list、array、string

向容器中添加元素:insert、push_back、push_front、emplace

访问:[]、at

删除:pop_back()、pop_front()、erase()、clear()

改变大小:resize()

管理大小:

shrink_to_fit()退回不需要的(多余的)内存空间

capacity()最多可以保存的元素个数

二、string

string s(str,n)s是str前n个字符的拷贝

string s(str,pos2)s是str从下标pos2开始的字符拷贝

string s(s2,pos,len)s是str从下标pos开始len个字符的拷贝

s.substr(pos,n)返回从pos开始的n个字符的拷贝

to_string(number)将数字类型转换为string类型

stoi、stol、stoul、stoll、stoill(s,p,b)、stof、stod、stold(s,p)将string转换为数值类型

s1.merge(s2)将s2并入s1

s.remove(v)

s.reverse()反转

s.sort()

s.unique()

三、智能指针

shared_ptr允许多个指针指向同一个对象

unique_ptr独占所指的对象

防止抛异常:

int* p = new (nothrow) int;使用nothrow关键字

3.1、使用new和delete管理动态内存的3个主要问题

1、忘记delete

2、delete已经delete过的对象

3、同一块内存释放两次,或两个指针指向了同一块内存,其中一个已经delete了另一个又去delete。

shared_ptr只能直接初始化:shared_ptr<int> p(new int(1024));

使用reset将一个新的指针赋给shared_ptr:p.reset(new int(1024))

allocator 分配为构造的内存

四、自动类型转换

explicit用于抑制构造函数定义的隐式转换

visual studio调试

include : 放C/C++ 常规  附加包含目录
lib: 连接器  常规   附加库目录放lib的目录,连接器  常规  输入  附加依赖项放lib包的名称
dll : 配置属性  常规  输出目录以及配置属性  调试  工作目录

pdb调试文件加载路径设置:工具-》选项-》调试-》符号。选中符号服务器会从网上去找pdb文件,在此目录下缓存符号是用的本地的,一般为bin目录。
方法二在调试中加载:将代码打断点,调试-》窗口-》模块,对于没有加载的就右键点击加载
添加源代码:
右键解决方案-》属性-》调试源文件-》在包含源代码的目录空白处点击然后添加即可。

什么时候用函数断点比较方便?
当有多个重载函数时使用函数断点

多线程调试:在点击调试后点击全部中断,选择在源中显示线程可以看到当前线程运行的代码

并行堆栈可以看到每个线程运行的位置,在并行监视看变量的变化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值