C++
C++ & 数据结构 学习笔记
流觞时光
此行山高路远,所幸我口袋还有玫瑰一片
展开
-
CMakeLists.txt书写规则记录
本文只记录了最基础的所需项,有了这些一般简单的项目都能够正常编译运行了,CMakeLists.txt当然还有更多更灵活高级的写法和东西,例如install之类的,根据项目需求自行添加,后续学习到了再进行记录。通常一个项目会有很多个cpp文件,或者多个文件夹,每个文件夹下有多个文件便于代码管理,这时候总不能去手敲每个文件的路径到。(网上很多教程就只拿只有一个main.cpp的举例,你家项目只有一个main文件啊?当项目下有要使用的库时,这里以linux下的opencv动态链接库文件举例。原创 2023-05-10 17:31:41 · 965 阅读 · 0 评论 -
对vector元素取址 时出现的问题
在对数组元素取址时的一些问题原创 2022-08-12 11:23:54 · 677 阅读 · 0 评论 -
C++学习笔记 之 lower_bound & upper_bound
用于查找有序序列中目标值的上下界使用时需要包含头文件 #include <algorithm>内部实现是二分查找,时间复杂度为O(logn)O(logn)O(logn)lower_bound : 返回序列中第一个大于等于value的元素的位置,没有的话返回last位置(不是最后一个元素,此时返回值是越界的) lower_bound(start,end,value); //使用方式与upper_bound相同 👇upper_bound : 返回序列中第一个大于value的原创 2022-05-30 17:05:46 · 615 阅读 · 0 评论 -
C++学习笔记 之 常量指针与指针常量
① 指针常量形式: int * const pt;特点:防止通过该指针修改指向的值, 指针的指向可以改Int age = 23;Const int * pt = &age; // 表明 *pt 的值不能被修改,或者说23 不能通过pt修改,但是可以通过age修改, const只是针对于pt② 常量指针形式: const int * ps;特点:将指针本身声明为常量,即固定指针指向的位置不可改变此时可以使用ps修改指向的值,但是不能修改ps指向的地址...原创 2021-12-23 22:10:27 · 542 阅读 · 1 评论 -
C++学习笔记 之 数组使用注意事项(持续补充ing)
我是目录① 在不知道数组长度时,想要声明数组② 数组名相当于指针常量(即 type * const)③ 数据名在作为函数的参数时将失去其数据结构内涵① 在不知道数组长度时,想要声明数组(例如想要通过外部输入设定数组长度),此时需要通过指针来进行。即声明一个指向数组元素类型的指针,然后后续通过new来分配地址赋值给该指针。class myClass{ int *p; void setLength(int n) { p = new int [n]; }}方法特点:此时还是能够通过 p原创 2021-12-23 22:05:04 · 905 阅读 · 0 评论 -
C++小技巧 之 char、int、string相互转换
目录char 转 stringstring 转 charchar 转 intint 转 charint 转 stringstring 转 int通过 stringstream进行类型转换现假设有:string str;char cc;int num;char 转 stringstring s = string(1,cc);//或者string s(1,cc);string 转 char直接读取string的单个字符就是char类型的了,如果需要转换为char[ ]类型,则需要拷贝,原创 2021-02-28 21:49:09 · 208 阅读 · 0 评论