随笔分类 -  c和c++

主要记录c和c++的一些学习内容
摘要:摘要:本文主要分析了malloc和new两者的区别。 1、申请的内存所处的位置 malloc是c语言中的概念,申请的是堆中的内存空间。堆是计算机操作系统中特殊分配出来的一个内存区域,用于程序的内存动态分配。 new是c++中的概念,申请的空间称之为自由存储区。自由存储区是针对于new的一个概念,可以 阅读全文
posted @ 2019-09-21 17:06 AmingGlaxy 阅读(434) 评论(0) 推荐(0)
摘要:摘要:本文主要记录了在复习c++过程中的体会。 1、关于const 在c++中,const代表的是一种只读权限,即代表变量的值不可以再修改; 相比define而言,const修饰的数据可以有类型,更加地注重作用域; const修饰的变量用基础数据类型进行初始化时,只会标记到符号表,而不会分配内存;用 阅读全文
posted @ 2019-09-21 15:44 AmingGlaxy 阅读(306) 评论(0) 推荐(0)
摘要:摘要:本文主要探究一个问题:为什么使用指针变量时一定要申请空间? 1、问题的提出: 我们在使用指针时,有时需要用指针指向一个变量,用指针来对变量进行操作;而有时我们就需要直接定义一个指针变量,然后用指针变量进行相关操作。针对第二种情况,直接采用以下的方式: 上面的情况中,直接就崩,原因是什么呢? 2 阅读全文
posted @ 2019-09-20 16:40 AmingGlaxy 阅读(1013) 评论(0) 推荐(0)
摘要:摘要:本文主要讲了适配器的一些内容,重要的是了解适配器使用的步骤。 阅读全文
posted @ 2019-08-26 15:09 AmingGlaxy 阅读(253) 评论(0) 推荐(0)
摘要:摘要:本文主要介绍了谓词的相关内容,并且用简单的代码对其进行了应用。 1、基本概念 1.1 什么是谓词? 谓词是指普通函数或重载的operator()返回值是bool类型的函数对象(仿函数)。 1.2 谓词的分类 如果operator接受一个参数,那么叫做一元谓词,如果接受两个参数,那么叫做二元谓词 阅读全文
posted @ 2019-08-23 11:48 AmingGlaxy 阅读(272) 评论(0) 推荐(0)
摘要:摘要:本文主要介绍了函数对象(仿函数)的基本概念,并且举例子对其进行基本的使用。 1、基本概念 1.1 什么是函数对象? 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象,也叫仿函数(functor),其实就是重载“()”操作符,使得类对象可 阅读全文
posted @ 2019-08-23 10:47 AmingGlaxy 阅读(507) 评论(0) 推荐(0)
摘要:摘要:本文主要介绍了map容器和multimap容器的相关内容。 1、基本概念 1.1 Map的特性 所有元素都会根据元素的键值自动排序。Map所有的元素都是pair,同时拥有实值和键值,pair的第一元素被视为键值,第二元素被视为实值,map不允许两个元素有相同的键值。 1.1 map容器的键值无 阅读全文
posted @ 2019-08-22 17:25 AmingGlaxy 阅读(187) 评论(0) 推荐(0)
摘要:摘要:本文主要介绍了set容器和multiset容器的相关内容。 1、基本概念 所有元素都会根据元素的键值自动被排序, 元素即是键值又是实值,不允许两个元素 有相同的键值,元素值不可以被改变 multiset特性及用法和set完全相同, 唯一的差别在于它允许键值重复 set和multiset的底层实 阅读全文
posted @ 2019-08-22 14:45 AmingGlaxy 阅读(234) 评论(0) 推荐(0)
摘要:摘要:本文主要介绍了list容器的相关内容。 1、基本概念 1.1 链表的简单介绍 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元 阅读全文
posted @ 2019-08-21 15:39 AmingGlaxy 阅读(160) 评论(0) 推荐(0)
摘要:摘要:本文主要介绍了两种容器——stack容器和queue容器。 1、基本概念 容器介绍 stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口, 形式如图所示。stack容器允许新增元素,移除元素,取得栈顶元素,但是除了 最顶端外,没有任何其他方法可以存 阅读全文
posted @ 2019-08-20 11:37 AmingGlaxy 阅读(162) 评论(0) 推荐(0)
摘要:摘要:本文主要介绍了10名评委对5名选手进行打分问题的解决办法。 1、题目示意 有5名选手:选手ABCDE,10个评委分别对每一名选手打分,去除最高分,去除评委中最低分,取平均分。 2、解决办法 2.1. 创建五名选手,放到vector中 2.2. 遍历vector容器,取出来每一个选手,执行for 阅读全文
posted @ 2019-08-19 21:30 AmingGlaxy 阅读(533) 评论(0) 推荐(0)
摘要:摘要:本文主要介绍了deque容器以及一些API的使用。 1、基本概念 1.1 deque容器介绍 该容器和vector容器很相似,不同之处在于两点:第一是它可以实现头部的插入和删除;第二在于deque没有容量的概念,因为它是动态的以分段连续空间组合而成,随时可以增加一段新的空间并链接起来。 1.2 阅读全文
posted @ 2019-08-19 17:25 AmingGlaxy 阅读(173) 评论(0) 推荐(0)
摘要:摘要:本文主要介绍了vector容器的使用,并且举例加以理解。 1、基本概念 1.1 什么是vector容器 简而言之,vector容器类似于数组,只不过相对数组而言,它有自己的优点:独特的空间配置策略。这样的空间配置策略有利于对空间的合理有效地利用。 1.2 vector迭代器 直接理解成指针,来 阅读全文
posted @ 2019-08-19 15:33 AmingGlaxy 阅读(145) 评论(0) 推荐(0)
摘要:摘要:本文主要介绍了字符串string容器的使用。 1、简单介绍 1.1概念 C风格字符串(以空字符结尾的字符数组)太过复杂难于掌握,不适合大程序的开发,所以C++标准库定义了一种string类,定义在头文件<string>。 1.2 String和c风格字符串的比较 Char*是一个指针,Stri 阅读全文
posted @ 2019-08-16 17:04 AmingGlaxy 阅读(154) 评论(0) 推荐(0)
摘要:摘要:本文主要介绍了STL中三大组件——容器、迭代器和算法的基本使用。 1、容器 1.1 STL中容器的研究内容 STL容器实际上研究的是常见的数据结构的实现。 注意:数据结构存在的意义就是提供一种数据的特定排列方式,以方便算法的实现。 1.2 常用的数据结构(容器)以及分类 数组(array),链 阅读全文
posted @ 2019-08-15 16:19 AmingGlaxy 阅读(338) 评论(0) 推荐(0)
摘要:1、多继承的虚基类不能够实例化。 这句话是错误的,当不调用子类时,虚基类的函数当然就不会virtual的影响,而是照常可以实例化使用。 2、在类的非静态函数中this指针指向调用该函数的对象。 这句话是正确的,注意非静态函数,因为多个对象的静态数据和函数都指向了同一块内存空间,不会随着新定义的对象而 阅读全文
posted @ 2019-08-12 15:50 AmingGlaxy 阅读(290) 评论(0) 推荐(0)
摘要:1、cin输入多个数据用空格或者回车来区分,不可以用“,”来区分。 2、多个判断语句下,if...if...else;这样写程序会导致最后两个形成独立判断,也就是说,如果第一个if成立,那么除了执行第一个if下的内容,还会执行else下的内容;为了避免这样的问题,就需要用if...else if.. 阅读全文
posted @ 2019-08-07 17:18 AmingGlaxy 阅读(436) 评论(0) 推荐(0)