![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
Change_Improve
这个作者很懒,什么都没留下…
展开
-
C++ vector 用法(详解、代码演示)
一、什么是vector? 首先 vector 是一个容器。向量(Vector)是一个封装了动态大小数组的 顺序容器 (Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。 可以简单的认为,向量(Vector)是一个能够存放任意类型的动态数组。二、容器特性1. 顺序序列 顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。2. 动态数组 支持对序列中的任意元素进行快速直接访问,甚至可以通过指针进行该操作。提供了在序列末原创 2020-08-05 22:40:48 · 621 阅读 · 0 评论 -
malloc realloc new calloc 的区别与联系
http://www.xiaobaijidi.net/thread-103554-1-1.html#include<iostream>#include<iomanip>using namespace std;int main(){ float (*cp)[9][8]=new float[8][9][8]; for(int i=0;i<8;i+...原创 2020-08-04 16:33:55 · 319 阅读 · 0 评论 -
C++—汉明距离(比较两个数对应的二进制不同的位置的数目)—计算一个二进制数中有几个 1
题目说明 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。 注意: 0 ≤ x,y < 231 示例: 输入: x = 1, y = 4 输出: 2 解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置。解题题目分析:两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目 这里的意思就是将两个数用二进制表示,然后按位原创 2020-05-21 18:41:59 · 2882 阅读 · 0 评论 -
main函数中的参数 argc 和 argv 的含义和用处
一、main() 函数参数简要说明通常情况下,小伙伴们在写主函数时,都是 void main() 或者是 int main() {…return 0;} 。但是 ANSI-C(美国国家标准协会,C 的第一个标准 ANSI 发布)在 C89/C99 中说明 main() 函数主要形式为:(1) int main(void)(2) int main(int argc,char *argv[...原创 2020-04-17 21:25:49 · 7933 阅读 · 0 评论 -
C++ stack基本函数使用方法
stack 是容器适配器的一种。要使用 stack,必须包含头文件 <stack>。stack就是“栈”。栈是一种后进先出的元素序列,访问和删除都只能对栈顶的元素(即最后一个被加入栈的元素)进行,并且元素也只能被添加到栈顶。栈内的元素不能访问。如果一定要访问栈内的元素,只能将其上方的元素全部从栈中删除,使之变成栈顶元素才可以。stack的定义如下:template <...原创 2019-12-08 15:59:49 · 2836 阅读 · 0 评论 -
C++ 类string常用函数用法详细总结
一. string的构造函数的形式string str:生成空字符串strstring s(str):生成的字符串s为str的复制品string s(str, str_begin, str_len):将字符串str中从下标str_begin开始、长度为strlen的部分作为字符串s的初值string s(cstr, char_len):以C_string类型cstr的前char_len个...原创 2019-12-08 15:23:01 · 519 阅读 · 0 评论 -
C++ 中缀转后缀 后缀转换得出计算结果
对于简单的四则运算而言,我们可以结合栈与字符串结合,将中缀表达式转化为后缀表达式,然后将后缀表达式转化得出计算结果。将中缀表达式转化为后缀表达式(栈用来进出 运算的符号)将后缀表达式进行运算得出结果(栈用来进出 运算的数字)将中缀表达式转化乘后缀表达式: 设定: 优先级 ‘ ( ’ > ‘ * ’ = ‘ / ’ > ‘ + ’ = ‘ -...原创 2019-12-08 14:50:39 · 618 阅读 · 0 评论 -
数据结构—线性表(第三章)—基本知识点总结
目录1. 线性表的定义2. 线性表的抽象数据类型3.线性表的顺序存储结构3.1 顺序存储定义3.2 顺序存储方式3.3 数据长度与线性表长度区别3.4 地址计算方法4. 顺序存储结构的插入与删除4.1 获得元素操作4.2 插入操作4.3 删除操作4.4 线性表顺序存储结构的优缺点5. 线性表的链式存储结构5.1 顺序存储结构不足的解决办...原创 2019-11-27 15:53:43 · 1404 阅读 · 0 评论 -
Linux下用C++实现2048小游戏详解
目录项目分析库函数的基本运用游戏界面盘子的绘制绘制游戏界面盘子操作界面进一步的完善游戏的实现数字在盘子中的位置重新初始化游戏实现向左移动合并数字实现向其它方向的移动并合并数字项目完整代码对于2048这个小游戏大家应该都玩过,没玩过的话,可以点击下方的链接进去玩一下。2048游戏网页链接2048是一个风靡全球的益智类小游戏,通过上下左右控制来合...原创 2019-11-18 00:26:11 · 2373 阅读 · 0 评论 -
C++动态内存分配(new-delete 和new[ ]-delete[ ])详解
在介绍动态内存分配之前,我们先来讨论一下动态内存与静态内存的区别:1. 静态内存静态内存是指在程序开始运行时由编译器分配的内存,它的分配是在程序开始编译时完成的,不占用CPU资源。程序中的各种变量,在编译时系统已经为其分配了所需的内存空间,当该变量在作用域内使用完毕时,系统会自动释放所占用的内存空间。变量的分配与释放,都无须程序员自行考虑。2. 动态内存用户无法确定空间大小,或者空...原创 2019-10-20 16:59:05 · 503 阅读 · 0 评论 -
C++ 条件编译指令和defined 操作符
使用条件条件编译指令,可以限制程序中的某些内容要在满足一定条件下才参与编译。因此,可以利用条件编译指令使同一个源程序在不同的编译环境下产生不同的目标代码。在头文件中使用#ifdef和#ifndef是非常重要的,可以防止双重定义错误的出现。常用的条件编译语句有下列5种形式:形式一:#if 常量表达式 程序段 //当“常量表达式”为非零时,编译此程序段#...原创 2019-10-05 12:51:33 · 2260 阅读 · 0 评论 -
C++ mutable的作用
mutable的中文意思是“可变的,易变的”,跟关键字const是反义词。在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。我们知道,被const关键字修饰的函数的一个重要作用就是为了能够保护类中的成员变量。即:...原创 2019-10-04 16:15:14 · 566 阅读 · 0 评论 -
字典序问题
《计算机算法设计与分析》中第一章的第二道题-字典序问题。题目如下:在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A由26个小写字母组成。该字母表产生的升序字符串中字母从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1次。例如,a,b,ab,bc,xyz等字符串都是升序字符串。现在对字母表中产生的所有长度不超过6的升序字符串,计算它在字典中的编码。1...原创 2019-05-04 15:18:42 · 2173 阅读 · 1 评论 -
运算符优先级
运算符优先级在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的结合顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先...转载 2019-09-11 15:24:59 · 422 阅读 · 0 评论 -
常用的I/O流类库操纵符
当使用cin,cout进行数据的输入和输出时,无论处理的是什么类型的数据,都能够自动按照正确的默认格式处理。但是这还不够。C++I/O流类库提供了一些操纵符,可以直接嵌入到输入输出语句中来实现I/O格式控制。要使用操纵符,必须在源程序的开头包含iomanip头文件。下表给出了几个常用的I/O流类库操纵符。操纵符名 含义 dec 数值数据采用十进制表示 hex 数值...原创 2019-09-11 15:52:52 · 860 阅读 · 0 评论 -
汉诺塔问题
有三根柱子A,B,C。A柱上有n个圆盘,盘子大小不等,大的在下,小的在上,如图所示。要求把这n个盘子从A柱移到C柱,在移动过程中可以借助B柱,每次只允许移动一个盘,且在移动过程中在三根柱上都保持大盘在下,小盘在上。问题分析:将n个盘子从A 柱移到C柱可以分解为下面3个步骤。(1)将A上n-1个盘子移到B柱上(借助C柱)。(2)把A柱上剩下的一个盘子移到C柱上。(3)将...原创 2019-09-18 19:55:01 · 711 阅读 · 0 评论 -
C++中struct与class的区别
结构体是一种特殊形态的类,它和类一样,可以有自己的数据成员和函数成员,可以有自己的构造函数和析构函数,可以控制访问权限,可以继承,支持包含多态等,二者的定义语法也几乎一样。结构体和类的唯一区别在于,结构体和类具有不同的默认访问控制属性:在类中,对于未指定访问控制属性的成员,其访问控制属性为私有类型(private);在结构体中,对于未指定任何访问控制属性的成员,其访问控制属性为公有类型...原创 2019-09-25 22:24:53 · 177 阅读 · 0 评论 -
C++的union
有时,一组数据中,任何两个数据不会同时有效。例如,如果需要存储一个学生的各门课程成绩,有些课程的成绩是等级制的,需要用一个字符来存储它的等级,有些课程只记“通过”和“不通过”,需要用一个布尔值来表示是否通过,而另一些课程的成绩是百分制的,需要用一个整数来存储它的分数,这个分数就可以用一个联合体来表示。联合体是一种特殊形态的类,它可以有自己的数据成员和函数成员,可以有自己的构造函数和析构函数,可...原创 2019-09-25 22:54:25 · 371 阅读 · 0 评论 -
C++ extern和static的作用
extern 的作用extern可以实现多文件共享同一个变量、const常量、函数。例如://file1.cpp#include<iostream>using namespace std;int i=99;int main(){ cout<<i<<endl; return 0;}//file2.cpp#inc...原创 2019-10-03 15:12:18 · 471 阅读 · 0 评论 -
C++ const关键字详解
为何要使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下:常变量:const类型说明符 变量名常引用:const类型说明符 &引用名常对象:类名const对象名常成员函数:类名::fun(形...转载 2019-10-03 16:00:14 · 217 阅读 · 0 评论 -
C++ define的用法
#define是预处理指令,说到这里,我们有必要说一下C++常见的预处理指令:#空指令,无任何效果#include包含一个源代码文件#define定义宏#undef取消已定义的宏#if如果给定条件为真,则编译下面代码#ifdef如果宏已经定义,则编译下面代码#ifndef如果宏没有定义,则编译下面代码#elif如果前面的#if给定条件不为真,当前条件为真,则编译下...原创 2019-10-03 16:28:26 · 4546 阅读 · 0 评论 -
罗马数字转换成整数 计蒜客
给定一个罗马数字 sss,将罗马数字转换成整数。如罗马数字I,II,III,IV,V分别代表数字 1,2,3,4,5。首先要来了解一下罗马数字表示法,基本字符有 7 个:I、V、X、L、C、D、M,分别表示 1、5、10、50、100、500、1000。在构成数字的时候,有下列规则:1、相同的数字连写,所表示的数等于这些数字相加得到的数,如:III =3;2、小的数字在大的数字...原创 2018-10-20 16:21:01 · 142 阅读 · 0 评论