
C++笔记
基础打牢实践为王
这个作者很懒,什么都没留下…
展开
-
编程笔试输入数据链表初始化赋值插入
链表初始化赋值以及插入下面展示一些 代码。#include<iostream>#include<stdlib.h>//创建一个结构体来表示链表的结点类型 struct ListNode{ int val; struct ListNode *next; ListNode(int x):val(x),next(nullptr){}}; using namespace std;int main(){ struct ListNode *head, *p, *q, *t原创 2021-03-06 22:48:59 · 664 阅读 · 0 评论 -
opencv—图像旋转函数,rotate与warpAffine运用(不裁剪crop方法)
opencv—图像旋转函数,rotate与warpAffine运用(不裁剪crop方法)引言Oo图像旋转是图像几何变换中具有代表性的操作,直接调用opencv库函数很简单,但是叫你讲解一下,可能能多人会直接放弃。这里面包含了插值、背景处理、三角函数等一些知识,我也今早看了一篇推文,自己写了一下,发现还是有很多基础知识,于是作一次记录。图像旋转基本原理图像旋转之后大小会有变化,就会产生背景,背景一般默认填充为黑色,即0值。同时,原本的和新产生的像素会发生位置迁移,新的位置的像素需要进行插值进行处理,插原创 2020-12-18 16:08:25 · 3167 阅读 · 0 评论 -
CPP学习之异常操作
C++学习之异常操作C++异常栈解旋(unwinding)异常接口声明异常变量的生命周期多态异常标准库异常C++异常常见异常:除0溢出,数组下标越界,所读文件步卒不存在,空指针,内存不足等等;C++的异常一旦抛出,如果不捕获,该程序终止;抛出异常:throw捕获异常:try….catch异常严格类型匹配:异常机制和函数机制互不干涉,但捕获方式是通过严格类型匹配。void th(int a,double b){ if(b==0) throw ex;}int main(){try{ t原创 2020-09-30 16:18:08 · 443 阅读 · 0 评论 -
CPP学习之类型转换
C++学习之类型转换C++类型转换动态dynamic_cast静态static_cast常量 const_cast重新解释 reinterpret_castC++类型转换类型转换『cast』是将一种数据类型转换成另一种数据类型,大部分是非常有用的,但在转换指针时,我们很可能会将其转换成一个比它更大的类型,可能会破坏其他数据。动态dynamic_cast主要用于类层次间的上行和下行转换,上行转换时和static_cast一样效果;在 下行转换时,dynamic_cast具有类型检查功能,更安全;//原创 2020-09-30 16:13:13 · 434 阅读 · 0 评论 -
CPP学习之string类的讲解
string类的讲解总结C++学习过程就是一次看不懂,几次懵懵懂懂,最后写得多了,才能看点门道的。着过程前期还是比较难受的,后面有点顿悟的感觉,也是不错。C++的字符串与C有很大的不同,首先C中是char*类型,而在C++中变成了string类型//Cchar* str = "caizi";//C++string str = "caizi";string str("caizi2");在C中对字符串的操作就是对str指针操作,增删改查都是在内存上进行操作的,非常高的自由度,但就是容易引起内存原创 2020-09-09 17:47:17 · 2318 阅读 · 0 评论 -
CPP学习之手把手教你动态分配内存C与CPP
C++动态分配内存程序中一般会把内存分到两部分里面,一个是堆,可用于分配动态内存,不会自动释放的;另一个是栈,函数内部申明变量都将占用栈内存。分配方法new和delete//用法int *a = new int;int *arr = new int[len]检测是否分配成功int *p = NULL;//内存地址初始化if(!(int *p=new int)){ cout<<"error"; exit(1);}释放内存delete a;delete []arr;原创 2020-09-09 17:45:10 · 532 阅读 · 0 评论 -
CPP学习之宏定义与预处理
宏定义与预处理C++预处理器参数宏条件编译#和##运算符总结宏优点宏缺点最近有点空,写下前段时间看C++的一些笔记,整理整理,发布出来接受大家检查,希望大家指点一二。C++预处理器预处理器,顾名思义就是在实际编译前需要完成的预处理。即是在程序进行词法,语义,代码生成与优化等之前进行的处理,经过预处理的程序不再包含之前的预处理命令。预处理指令是C++规定的,但不是C++的组成部分,编译器无法对他进行识别和编译。预处理都是以#开始,而且它不是C++指令,所以不用加“;”结尾,最常见的预处理指令#inc原创 2020-09-09 17:43:53 · 447 阅读 · 0 评论