
c++
文章平均质量分 76
程序猿是小贺
爱学习、知上进、善沟通、懂感恩
一个正在努力的大三学生,在为自己的未来奋斗,希望可以和大家一起进步!
如果你有什么问题欢迎前来骚扰,微信号Herman-001,私信可能回得慢一点,不要介意哈 没发文的时候是在好好学习
展开
-
Array与List(数组和链表)的区别及其优缺点
Array与List(数组和链表)的区别及其优缺点数组优点元素存储时在物理上(内存)是连续的。由于数组连续,可以通过下标进行直接访问数据。查找效率为O(1)。数组缺点数据插入和删除时效率低下,该数据后面的元素都需要后移或者前移。数组需要预留空间,可能会造成内存浪费。要定义数组首先要有一段足够长的连续空间并且数组大小是固定的,不支持动态的扩展,要是空间不足则需要重新开辟更大的数组。链表优点...原创 2021-09-01 13:38:30 · 2518 阅读 · 3 评论 -
[保姆级万字教程]打造最迷人的S曲线----带你从零手撕基于Huffman编码的文件压缩项目
本篇文章的宗旨在于可以帮助大家从**0开始手撕一个属于自己的项目**,建议大家在学习之前可以花一分钟时间阅读一下目录,熟悉一下开发流程,以便于接下来更好地理解 ,废话不必多说直接进入正题。原创 2021-08-23 14:59:02 · 1025 阅读 · 49 评论 -
面向过程与面向对象概述
1.面向过程与面向对象的区别面向过程关心的是过程,面向过程就是分析出解决问题需要的步骤,然后用函数将这些步骤依次调用实现。面向对象关心的是对象之间的交互,面向对象是把问题分解为各个对象,然后分析每个对象在解决问题中出现的行为。图示2.举例说明举例:洗衣服在这里插入图片描述3. 优缺点比较面向过程优点:流程化具体步骤清楚,便于节点分析。效率高,面向过程强调代码的短小精悍,善于结合数据结构来开发高效率的程序。缺点:耗费精力,代码重用性低,扩展能力差,后期维护难度比较大。面向对象原创 2021-08-20 16:28:39 · 4193 阅读 · 83 评论 -
STL中string类基本概念及模拟实现
1. 标准库中的string类字符串是表示字符序列的类标准的字符串类提供了对此类对象的支持,其接口类似于标准字符容器的接口,但添加了专门用于操作单字节字符字符串的设计特性。string类是使用char(即作为它的字符类型,使用它的默认char_traits和分配器类型。string类是basic_string模板类的一个实例,它使用char来实例化basic_string模板类,并用char_traits和allocator作为basic_string的默认参数。注意,这个类独立于所使用的编码来原创 2021-08-13 19:50:13 · 331 阅读 · 12 评论 -
vector基本内容与增删查改的模拟实现
1.基本内容vector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小,为了增加存储空间。其做法是,分配一个新的数组,然后将全部元素移到这个数组。就时间而言,这是一个相对代价高的任务,因为每当一个新的元素加入到容器的时候,v原创 2021-08-09 21:07:12 · 482 阅读 · 3 评论 -
C++ 笔试题 (3)——每天学一点,天天都进步
每天打卡面试题,总结成博客是为了自己到时候复习方便,部分答案来源于网络,侵删!谢谢大家原创 2021-08-07 14:18:44 · 1291 阅读 · 22 评论 -
C++ 笔试题 (1)——每天学一点,天天都进步
关于引用以下说法错误的是( )。(阿里巴巴2015笔试题)A.引用必须初始化,指针不必B.引用初始化以后不能被改变,指针可以改变所指的对象C.不存在指向空值的引用,但是存在指向空值的指针D.一个引用可以看作是某个变量的一个“别名”E.引用传值,指针传地址F.函数参数可以声明为引用或指针类型答案解析A.引用必须初始化,必须在定义引用时明确引用的是哪个变量或者对象,否则语法错误,指针不初始化时值为随机指向B.引用一旦定义时初始化指定,就不能再修改,指针可以改变指向C.引用必须出示化,.原创 2021-08-04 14:12:53 · 1683 阅读 · 10 评论 -
C++ 笔试题 (2)——每天学一点,天天都进步
有一个如下的结构体:struct A{ long a1; short a2; int a3; int *a4;};请问在64位编译器下用sizeof(struct A)计算出的大小是多少?( )A.24B.28C.16D.18答案解析64位系统下指针为8个字节,a1占4字节,a2两字节,由于a3占4字节, a2需要补齐2个字节,对于a1,a2,a3一共开辟了12个字节,由于a4占8个字节,所以a4之后要 补齐4个字节才能是8的整数倍,最后总和为24字节,刚好也是8的倍数.原创 2021-08-04 14:12:14 · 1594 阅读 · 13 评论 -
c++ 函数重载 与引用
背景:自然语言中,一个词可以有多重含义,人们可以通过上下文来判断该词真实的含义,即该词被重载了。 比如:以前有一个笑话,国有两个体育项目大家根本不用看,也不用担心。一个是乒乓球,一个是男足。前 者是“谁也赢不了!”,后者是“谁也赢不了!”...原创 2021-06-19 00:16:20 · 484 阅读 · 19 评论 -
初始c++,带你进入面向对象的世界
1. 什么是C++C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(objectoriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C语言的渊源关系,命名为C++。因此:C++是基于C语言而产生原创 2021-06-18 22:51:36 · 225 阅读 · 8 评论