c/c++
文章平均质量分 67
XD_RBT_
这个作者很懒,什么都没留下…
展开
-
类成员函数的重载、覆盖和隐藏区别
1.重载是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。实现原理上:编译器根据函数不同的参数表,对同名函数的名称做修饰,然后这些同名函数就成了不同的函数(至少对于编译器来说是这样的)。如,有两个同名函数:function func(p:integer):integer;和function func(p:string):integer;。那么编...原创 2018-04-07 21:49:42 · 437 阅读 · 0 评论 -
八大排序-插入排序-直接插入排序
基本思想: 将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。要点:设立哨兵,作为临时存储和判断数组边界之用。直接插入排序示例:如果碰见一个和插入元素相等的,那么插入元素把想插入的元素放在相等元素的后面。所以,相等元素的前后顺序没有改变,从原无序序列...原创 2018-08-19 16:20:02 · 266 阅读 · 0 评论 -
BSS、数据段、代码段、堆区、栈区
BSS(Block Started by Symbol)通常是指用来存放程序中未初始化的全局变量和静态变量的一块内存区域。特点是:可读写的,在程序执行之前BSS段会自动清0。所以,未初始的全局变量在程序执行之前已经成0了。 数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。 代码段:代码段(code segment/tex...原创 2018-08-02 16:21:31 · 447 阅读 · 0 评论 -
STL知识点总结
STL笔试面试题总结STL有哪些组件STL提供六大组件,彼此可以组合套用:1、容器容器就是各种数据结构,我就不多说,看看下面这张图回忆一下就好了,从实现角度看,STL容器是一种class template。2、算法各种常见算法,如sort,search,copy,erase等,我觉得其中比较值得学习的就是sort,next_permutation,partition,merg...原创 2018-07-31 21:45:19 · 622 阅读 · 0 评论 -
cadel fastcall stdcall
__cdecl __fastcall与__stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。1、__stdcall调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈。2、_cdecl是C和C++程序的缺省调用方式。每一个调用它的函数都包含...原创 2018-06-04 00:22:17 · 188 阅读 · 0 评论 -
引用&与const
引用:就是某一变量(目标)的一个别名,对引用的操作与变量直接操作完全一样引用的声明方法:类型标识符 &引用名=目标变量名例如:int a; int &ra=a; //定义引用ra,它是变量a的引用1.&在此不是求地址运算,而是起标识的作用2. 类型标识符是指目标变量的类型(一个变量可以有多个别名)3. 声明引用时,必须同时对其进行初始化4. 引用声明完毕后,相当于目标变...原创 2018-05-22 23:50:35 · 488 阅读 · 0 评论 -
数组指针和指针数组的区别
数组指针:a pointer to an array ,指向数组的指针指针数组:array of pointer ,用于存储指针的数组,即数组元素都是指针int (*p)[6] 数组指针 :表示指向数组a的指针 元素表示:(*a)[i] (指向一维数组的指针,也成行指针)int* p[6] 指针数组 :表示数组a中的元素都是int *型,即int型指针 元素表示:*(a[...原创 2018-05-15 23:36:41 · 441 阅读 · 0 评论 -
字节对齐----结构体、共用体
字节对齐结构体字节对齐:(结构体成员的数据类型为基本数据类型(int,double,char,short,long等))结构体的总大小是结构体成员中最宽基本数据类型大小的整数倍#include<iostream>using namespace std;struct S0{ int a;char b;short c;};struct S1{char b;int a;short c;...原创 2018-05-21 00:37:02 · 843 阅读 · 0 评论 -
身份证检测系统(小程序)
ID:#ifndef _ID_H_#define _ID_H_#include<stdio.h>#include<windows.h>#include<iostream>using namespace std;void SetCurPos(int x, int y);void HideCursor();void DrawCol(int x, int y, int...原创 2018-05-06 21:41:19 · 5945 阅读 · 0 评论 -
函数指针和指针函数的区别
指针函数 : 指带指针函数,即本质是一个函数,函数返回类型为某种类型的指针类型标识符* 函数名(参数列表)int* f(x,y);首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。int *f(x,y);int *p=NULL;p=f(x,y);输入第几周的第几天...原创 2018-05-16 22:48:24 · 327 阅读 · 0 评论 -
面向对象的三个基本特征
1. 封装:将客观事物抽象成类,每个类对自身的数据和方法实行protection(private, protected,public)2. 继承:广义的继承有三种实现形式:实现继承(指使用基类的属性和方法而无需额外编码的能力)、可视继承(子窗体使用父窗体的外观和实现代码)、接口继承(仅使用属性和方法,实现滞后到子类实现)。前两种(类继承)和后一种(对象组合=>接口继承以及纯虚函数)构成了功能...原创 2018-04-23 22:46:04 · 145 阅读 · 0 评论 -
个人银行账户小程序
#if 0 //1#ifndef _ACCOUNT_H_#define _ACCOUNT_H_class SavingsAccount //储蓄账户{public: SavingsAccount(int date,int id,double rate); int getid()const {return id;} double getbalance()const {return ba...原创 2018-04-23 22:30:40 · 731 阅读 · 0 评论 -
strcpy,strlen函数和string原型
编写strcpy函数:已知strcpy函数的原型是char *strcpy(char *strDest, const char *strSrc);其中strDest是目的字符串,strSrc是源字符串。(1)不调用C++/C的字符串库函数,请编写函数 strcpy(2)strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?答:为了 实现链式表达式。编写str...原创 2018-04-13 22:44:35 · 1266 阅读 · 1 评论 -
sizeof和strlen的区别
(1)sizeof<1> sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。<2> 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。<3> 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分...原创 2018-04-17 20:21:25 · 168 阅读 · 0 评论 -
贪吃蛇小游戏
MOVE__BOX部分:代码如下#include<iostream>#include<Windows.h>#include <conio.h>using namespace std;void PutPlace(int x,int y);//设定输出位置void color(int a);//设定输出颜色//设定输出位置void PutPlace(int x, i...原创 2018-04-17 20:05:58 · 285 阅读 · 0 评论 -
引用&,引用的使用,常引用,引用与多态,引用与指针的区别
1. 什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此...原创 2018-04-16 22:45:24 · 1322 阅读 · 0 评论 -
堆和栈的主要区别由以下几点:
1、管理方式不同;2、空间大小不同;3、能否产生碎片不同;4、生长方向不同;5、分配方式不同;6、分配效率不同;管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak(内存泄漏)。空间大小:一般来讲在32位系统下,堆内存可以达到4G的空间,从这个角度来看堆内存几乎是没有什么限制的。但是对于栈来讲,一般都是有一定的空间大小的,例如...原创 2018-04-16 22:37:08 · 191 阅读 · 0 评论 -
八大排序-插入排序-希尔排序
希尔排序是1959 年由D.L.Shell 提出来的,相对直接排序有较大的改进。希尔排序又叫缩小增量排序基本思想:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。操作方法:选择一个增量序列t1,t2,…,tk,其中ti>tj,tk=1; 按增量序列个数k,对序列进行k 趟排序; 每趟排序,...原创 2018-08-19 16:28:38 · 248 阅读 · 0 评论