12 2021 档案
摘要:前言 C++中标准的数组使用起来确实很方便,随机访问也很快。但是有一个致命的缺点:由于数组是一组固定的连续空间,所以不允许删除和添加元素。在实际的应用场景中,会显得有些捉襟见肘。STL中提供了很多不同的结构容器来弥补传统数组的不足,这里主要介绍常用的三种序列式容器。 vector 向量vector是
阅读全文
摘要:由于C++是静态语言,在所有的变量声明时都必须加上它的类型。静态语言的好处是能够在编译期就能检查出类型错误,但同时也带来了一些不便。比如一个比较大小的函数: int Max(int a,int b){ return a>b?a:b; } 但这个函数只能对int类型的数据生效,如果传入的参数是floa
阅读全文
摘要:普通函数 我们都知道,程序就是指令的集合。在运行程序时,操作系统将这些指令载入到计算机内存中。因此,每一组指令都有一个特定的内存地址。C++程序中的各个函数也有存储的内存空间,当程序执行到函数调用时,大致是如下步骤: (1)遇到函数调用指令时,会存储下该调用指令的地址,同时将参数压入堆栈中; (2)
阅读全文
摘要:先说结论,在编译命令里加上“-std=c++11”即可。不同的编译器设置的位置不一样。以Dev c++为例: (来源:https://www.cnblogs.com/decade-dnbc66/p/5351939.html) 使用dev c++时,发现to_string()函数竟然报错了,说是未定义
阅读全文
摘要:rand()函数 rand()函数是从C语言继承过来的随机数函数,存在于标准库<cstdlib>中。它会向我们返回一个0~RAND_MAX(32767)的整数,不需要参数。 简单测试一下: int main( ){ for(int i=0;i<5;i++){ cout<<rand()<<endl;
阅读全文
摘要:引用 从C过来的同学可能会对C++中的“&”表示不解。“&”在C中就是表示取地址符,在C++的实践中,它也确实有取地址的功能。但是,在C++中,它的功能不止于此,它有了一个更准确的名称:引用。 引用是C++的引入的语言特性,它表示某一对象的别名。对象和对象的引用都指向同一地址,对引用的操作实际上就是
阅读全文
摘要:1.传统下标遍历 int main( ){ int a[10] = {1,2,3,4,5,6,7,8,9,10}; for (int i=0;i<10;i++){ cout<<a[i]<<endl; } } 2.指针遍历 我们知道C++中的数组名实际上是一个存放数组首元素地址的常量。并且数组是连续的
阅读全文
摘要:stream C++中有一个很重要的类,stream,即“流”。所有的I/O操作都是通过对字节流的操作来实现的,包括最基本的输入输出cin、cout以及我们今天要说的文件I\O:ofstream(out file stream)和ifstream(in file stream)。 stream这个类
阅读全文
摘要:sort()函数 sort()函数是定义在C++ STL 标准库中的一个模板函数 ,它的作业是对容器或普通数组中指定范围内的元素进行排序,排序规则默认以元素值的大小做升序排序,除此之外我们也可以选择标准库提供的其它排序规则(比如std::greater<T>降序排序规则)。最重要的是我们可以使用函数
阅读全文
摘要:准备 opencv是一个跨平台的机器学习和视觉计算软件库,由C++编写。今天主要使用它提供的Python接口来处理图像。 首先需要安装opencv库,pip install opencv-python(使用镜像下载会快一点) 同时还需要使用numpy,目前如果在电脑上没有安装numpy,那么在安装o
阅读全文