- 博客(23)
- 收藏
- 关注
原创 C++ getline
当我们需要在字符串中输入空格时,我们会发现cin是不能满足需求的,cin遇到空格就停止输入了。如下所示,当输入HELLOW WORLD时,实际上只输入了HELLOW到s中。此时我们需要使用另一个函数。
2024-05-04 19:17:49 271
原创 C++ vector动态二维数组的存储问题
动态二维数组每一行在物理上是连续的,但是行与行之间在物理上不一定是连续的,要先理解动态二维数组,要先知道vector里面究竟有什么,如下图,vector里面有三个元素,_a存的是数据,_size是元素个数,_capacity是容量,一个二维数组vv,它的类型是vector*,里面的_a指向一个数组,该数组的元素都是vector,这些vector对应行,而这些vector中的_a的类型是int*,指向的是一个个连续的存储空间(数组),这些数组就是每一行内的元素。由此可以知道vv[i] [j]的逻辑,
2024-05-03 20:14:06 339
原创 C++类和对象
在上图中,class为类的关键字className是类名(可任意定义),{}中的是类的主体,注意类定义结束时后面的;不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。(1) 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内 联函数处理。
2024-03-31 18:18:34 952 1
原创 C++11中基于范围的for
在C++98中,如果需要遍历一个数组,通常是这样去做:对于一个有范围的集合而言,由程序员来说明范围显然是多余的,在C++11中对for的使用推出了新的语法,即基于范围的for。
2023-12-23 21:52:57 439 1
原创 C++关键字auto
当在同一行声明多个变量时,这些变量必须是相同的类型,否则编译器将会报错,因为编译器实际只对第一个类型进行推导,然后用推导出来的类型定义其他变量。
2023-12-23 20:58:42 376 1
原创 C++引用 不能使用不同类型引用的底层逻辑
所以a并非直接传值给b,而是先传值给一个临时变量(假定它为c),c是double型的,再由c传值给b。1.为什么int型能转化为非引用的double型变量,而加了引用就不行了呢?如果你看了上篇C++引用详解的话一定看它很眼熟,就是。2.为什么加了const就行了呢?要搞明白为什么,首先得知道。因为是拓展所以另起一篇。
2023-12-03 20:48:55 440 1
原创 数据结构——二叉树的相关概念及其实现
如下图是一个树:一个节点含有的子树的个数称为该节点的度;如上图:A的为6:度为0的节点称为叶节点;如上图:BCHI...等节点为叶节点:度不为0的节点;如上图:DEFG...等节点为分支节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;如上图:A是B的父节点:一个节点含有的子树的根节点称为该节点的子节点;如上图:B是A的孩子节点:具有相同父节点的节点互称为兄弟节点;如上图:BC是兄弟节点:一棵树中,最大的节点的度称为树的度;
2023-07-31 19:04:22 95 1
原创 数据结构:栈和队列的实现
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。栈中的数据元素遵守后进先出LIFO)的原则。压栈:栈的插入操作叫做进栈压栈入栈,。出栈:栈的删除操作叫做出栈。。栈的实现一般可以使用,相对而言数组的结构实现更优一些。因为数组在尾上插入数据的代价比较小。
2023-05-29 12:40:00 105 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人