C/C++
ivalue2333
He wept, for there were no more worlds to conquer.
展开
-
C++回顾--基础
1:声明:让编译器“认识”这个标识符 定义:给变量分配内存2:变量的存储类型auto:采用堆栈方式分配内存空间,属于暂时性存储,其存储空间可以被若干变量多次覆盖register:存放在通用寄存器中extern:在所有函数和程序段中都可以引用static:在内存中是以固定地址存放,在整个程序运行过程中都有效应该和变量的作用域和可见性结合理解3:枚举 ...原创 2018-09-08 13:32:13 · 237 阅读 · 0 评论 -
CPP容器-set
Sets是一个储存元素的容器,其中每个元素最多只出现一次,元素遵循一个特定的顺序。元素一旦被放入次容器将不能被修改(修改元素的值),但是可以对元素进行插入和移除操作。Set内部的元素遵循严格弱排序,因此在寻找元素的时候比unordered_map稍微慢一些,但是可以直接通过指针操作子分组,set是一个典型的二分搜索树的应用。 begin()--返回指向第一个元素的迭代器clear()-...原创 2018-09-18 14:08:55 · 4095 阅读 · 0 评论 -
CPP容器-map
map是STL的一种关联式容器,他提供一对一的Hash映射,因此使用中也常常可pair数据结构结合使用,map内部自建一棵红黑树,这棵树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,也基于此,不能直接改变元素的key,因为这会破坏正确次序,要修改元素的key,必须先移除该key的元素,然后插入拥有新的key/value的元素;任何两个元素没有相同的key值https://bl...原创 2018-09-18 13:25:51 · 6592 阅读 · 0 评论 -
CPP容器-deque
参考:https://blog.csdn.net/hero_myself/article/details/52312644容器deque和vector非常相似,操作函数基本一致。它采用动态数组来管理元素,提供随机存取,可以在头尾两端进行快速安插和删除元素操作。Vector是单向开口的连续线性空间,deque则是一种双向开口的连续线性空间。deque对象在队列的两端放置元素和删除元素是高效的...原创 2018-09-18 10:37:31 · 843 阅读 · 0 评论 -
CPP容器-list
List是stl实现的双向链表,与向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢。list不支持随机存取,要访问第n个元素,必须先遍历前n-1个元素才能访问第n个元素。因此,list没有下标[]操作,也没有at()接口。list的迭代器没有重载+n操作,但是重载了++, -- Lst1.assign() 给list赋值Lst1.back() 返回最后...原创 2018-09-18 09:59:48 · 4284 阅读 · 0 评论 -
CPP容器-vector
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 相关函数1.push_back 在数组的最后添加一个数据2.pop_back 去掉数组的最后一个数据3.at 得到编号位置的数据4.begin 得到数组头的指针5.end 得到数组的最后一个单元...原创 2018-09-18 09:36:16 · 2127 阅读 · 0 评论 -
C++--容器
c++中有两种类型的容器:顺序容器和关联容器,顺序容器主要有:vector、list、deque等。其中vector表示一段连续的内存地址,基于数组的实现,list表示非连续的内存,基于链表实现。deque与vector类似,但是对于首元素提供删除和插入的双向支持。关联容器主要有map和set。map是key-value形式的,set是单值。map和set只能存放唯一的key值,multimap和...原创 2018-09-17 20:14:38 · 199 阅读 · 0 评论 -
C++--虚函数表和虚函数表指针
参考https://www.tuicool.com/articles/iUB3Ebihttps://blog.csdn.net/haoel/article/details/1948051原创 2018-09-17 13:42:32 · 443 阅读 · 0 评论 -
Makefile详解
一篇好文http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=408225原创 2018-09-12 20:02:51 · 124 阅读 · 0 评论 -
最大公约数,最小公倍数
1:最大公约数greatest common divisor最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。2:求解最大公约数2-1:辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。2-2:更相减损法:《九章算术》:“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之。”第一步:任意给...原创 2018-09-06 20:51:39 · 1066 阅读 · 0 评论 -
C标准输入,多行输入导致读取错误的问题
1:问题遇到的问题是在读取多行输入时,出现读取的结果和预期不匹配的问题。2:原因2.1:回车符被写入了标准输入stdio(输入缓冲区)2.2:scanf会读取回车符3:过程键盘敲入字符,当敲下回车键之后,c程序会先将缓冲区清空,然后将这些字符和回车符('\n')写入缓冲区中, 再然后scanf()和getchar函数会从缓冲区中读取字符(%d%c)。4:实例4-1...原创 2018-09-06 14:53:49 · 911 阅读 · 0 评论 -
C语言练习
参考:https://bingyishow.top/Technical-article/16.html原创 2018-09-06 11:42:09 · 2202 阅读 · 0 评论 -
C++回顾--多态(模板)
1:群体数据自定义类型的数据由多个基本类型或者自定义类型的元素所组成,被称为群体数据。2:参数化多态将程序所处理的对象的类型参数化,使得一段程序可以用于处理多种不同类型的对象。模板就是C++支持参数化多态的工具。3:函数模板定义形式template <class T> 或者 template <typename T>类型名 函数名(参数表){...原创 2018-09-09 17:01:35 · 665 阅读 · 0 评论 -
C++回顾--多态(虚函数)
希望通过这篇文章将C++的多态,这里主要是继承派生所引起的多态效益。1:定义:多态就是相同的消息,不同的对象接收,会导致不同的行为2:多态的分类2.1:重载多态(如函数重载),强制多态(如类型转换),包含多态(主要是通过虚函数来实现),参数多态(类模板相关)2.2:实现的角度来分,分为编译时多态和运行时多态编译时多态是指在编译期间确定了同名的操作的具体操作对象,后者是运行时才确...原创 2018-09-08 14:13:20 · 85 阅读 · 0 评论 -
C++值传递(包含指针传递),引用传递
参考:http://blog.sina.com.cn/s/blog_673ef8130100imsp.html1:指针传递指针传递参数本质上是值传递的方式,它所传递的是一个地址值。值传递过程中,被调函数的形式参数作为被调函数的局部变量处理,即在栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影...原创 2018-09-11 17:16:29 · 306 阅读 · 0 评论 -
C++回顾--多态(操作符重载)
1:重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。如:Box operator+(const Box&);2:需要注意的点2.1重载运算符函数的参数个数,应该与参与这个运算符的运算对象数量一样多,但是如果是成员函数,则参数数量要少一个,因为第一个参数是this。...原创 2018-09-11 16:24:24 · 220 阅读 · 0 评论 -
C数据类型
#include <iostream>#include <cstdlib>int main() { // 基础 int a = 5; int b = 2; float c = a / b; printf("%f\n", c); // 在printf中计算会出现意想不到的问题 printf("%f\n", (a...原创 2018-09-26 21:11:39 · 190 阅读 · 0 评论