- 博客(27)
- 资源 (2)
- 收藏
- 关注
原创 函数堆栈调用
环境: VS2017int sum(int a,int b){ return a+b;}int main(){ int a = 10; int b = 1; int c = 0; c = sum(a,b); return 0;}{ (完成以下指令)1, push ebp2, m...
2019-03-21 14:48:22 202
转载 Andorid安装及配置
Android studio安装与配置 Android studio安装与配置1、首先下载Android studio安装包,可以从http://www.android-studio.org/下载最新版本,这里采用3.0版本进行演示,对应安装包为android-studio-ide-171.440...
2019-03-21 09:51:57 244
转载 Adroid 模拟器启动报错
《只是作为记录而转载》 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rznice/article/details/40210213 </div> <link rel="stylesheet" href="https://csdnimg.cn/release/phoen...
2019-03-21 09:49:05 348
转载 CSDN 一键转载
《本文只是作为记录而转载》 前言 对于喜欢逛CSDN的人来说,看别人的博客确实能够对自己有不小的提高,有时候看到特别好的博客想转载下载,但是不能一个字一个字的敲了,这时候我们就想快速转载别人的博客,把别人的博客移到自己的空间里面,当然有人会说我们可以收藏博客啊,就不需要转载,(⊙o⊙)…...
2019-03-21 09:38:53 169
转载 Xmind 8 pro 安装及破解教程
《本文只是作为记录而转载》 版权声明:本文为博主原创文章,转载请附上博文链接。感谢合作! https://blog.csdn.net/qq_16093323/article/details/80967867 </div> <l...
2019-03-21 09:38:40 1716
原创 for,while区别
37: for (int i =0;i< 2;i++)00821E58 C7 45 F8 00 00 00 00 mov dword ptr [ebp-8],0 00821E5F EB 09 jmp main+3Ah (0821E6Ah) 00821E61 8B 45 F8 mov ...
2019-02-27 09:23:55 215
转载 内存泄漏检查工具valgrind使用方法
调试内存问题的工具和技术动态内存分配看起来似乎非常简单:您可以根据需要分配内存 —— 使用 malloc() 或其变种 —— 并在不需要时释放这些内存。实际上,内存管理的问题是软件中最为常见的 bug,因为通常在程序启动时这些问题并不明显。例如,程序中的内存泄漏可能开始并不为人注意,直到经过多天甚至几个月的运行才会被发现。接下来的几节将简要介绍如何使用流行的调试器 Valgrind 来发现并调...
2019-02-24 08:46:58 285
原创 心血来潮之——malloc ,realloc,calloc 三者的区别
三个函数的申明分别是:void* malloc(size_t size);char *p=(char*)malloc(sizeof(char)*4);memset(p,0,sizeof(char)*4);//用0初始化p所指向的内存空间分配成功则返回指向起始地址的指针,否则返回空指针NULL。他是分配一块连续区域,不对分配空间进行初始化一般会在malloc后调用memset进行初始化内存空间。从堆...
2018-05-02 22:46:14 186
原创 C++中的Static
在面向过程中静态全局变量#include <iostream>using namespace std;void fn(); //声明函数static int n; //声明静态全局变量int main(){ n = 20; //为n赋初值 printf("%d\n", n);//输出n的值 fn(); //调用fn函数}void fn(){ n++; ...
2018-04-10 13:32:50 194
原创 C++设计模式---装饰模式
动态地给一个对象添加一些额外的职责(不重要的功能,只是偶然一次要执行),就增加功能来说,装饰模式比生成子类更灵活,建造过程不稳定,按正确的顺序串联起来进行控制。当你想旧的类中添加新代码时,一般是为了添加核心职责或主要行为。而当需要加入的仅仅是一些特定情况下才会执行的特定的功能是(简单来说就是不是核心应用的功能)就会增加类的复杂度。装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要...
2018-04-09 19:59:09 178
原创 C++设计模式---策略模式
定义算法家族,分别封装起来,让他们之间可以相互替换,让算法变化,不会影响到用户。适合类中的成员以方法为主,算法经常变动,简化了单元测试(因为每个算法都有自己的类),可以通过自己的借口单独测试。策略模式和简单工厂模式基本相同,但简单工厂模式只能解决对象创建问题,对于经常变动的算法应该使用策略模式。//策略模式class Arithmetic{public: virtual void Repl...
2018-04-09 19:09:29 210
原创 设计模式原则
1:单一职责原则就一个类而言,应该仅有一个引起它变化的原则。如果一个类承担的职责过多,就等于把这些耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其它职责能力,这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。2:开放--封闭原则软件实体可以扩展,但是不可以修改,即对于扩展是开放的,对于修改是封闭的。而...
2018-04-09 00:04:11 153
原创 C++设计模式---抽象工厂模式
定义了一个创建一系列相关或相互依赖的接口,而无需制定它们的具体类。用于交换产品系列,产品的具体类名被具体工厂实现分离简单来说就是,工厂还是两个,可以生产A系列的产品,B系列的产品//抽象工厂模式class Product{public: Product() {} virtual ~Product() {}public: virtual void operation() = 0;};...
2018-04-07 15:17:20 454
原创 C++设计模式---工厂方法模式
修正了简单工厂模式中不遵守开放-封闭原则。工厂方法模式把选择判断移到了客户端去实现,如果想添加新功能就不用修改原来的类,直接修改客户端就好。 //工厂方法模式 class Product { public: Product() {} virtual ~Product() {} public: virtual void operation() = 0; }; //产品A c...
2018-04-07 14:46:49 190
原创 C++设计模式---简单工厂模式
简单工厂模式主要用于创建对象,新添加类时,不会影响以前的系统代码。核心思想是用一个工厂来根据输入的条件产生不同的类,根据不同类的virtual函数得到不同的结果。适用于不同情况创建不同的类时,客户端必须知道基类和工厂类,耦合性不好。#include <iostream>using namespace std; enum CTYPE { PA=1, PB }; //基类clas...
2018-04-07 13:56:31 170
原创 “段错误(segment fault)”,"非法操作”该内存地址不能read/write
为什么写程序经常出现“段错误(segment fault)”,"非法操作”该内存地址不能read/write的错误信息? 这是典型的非法指针解引用造成的错误,当指针指向一个不允许读或写的内存地址,而程序却试图利用指针来读或写该地址的时候,就会出现上述的错误信息,在linux或windows的内存布局中,有些地址是始终不能读写的,例如0地址。还有一些地址是一开始不允许读写的,应用程序必须事先请...
2018-04-06 23:15:01 837
原创 C++中堆和栈
栈(Stack):系统开辟空间,系统释放空间。存放函数的参数名,局部变量的名等,操作方式类似数据结构的栈堆(Heap):用户开辟空间,用户释放空间,不同于数据结构中的堆,分配方式类似链表。栈:在Windows下,是向低地址扩展的数据结构,是一块连续的区域,就是说栈顶地址和栈的最大容量是系统事先预定好的。堆:是向高地址扩展的数据结构,是不连续区域,是因为他是系统用链表来存储空闲内存地址的
2018-04-06 16:29:45 174
原创 卡特兰数的实现与应用
这是在解决给定节点树,可以构成多少二叉树时遇到的问题,我还真的就都画了出来!!这个问题其实就是卡特兰数的一种应用而已。 卡特兰数 又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列。就是1,1,2,5,14,.......原理:令h(0)=1,h(1)=1,catalan数满足递推式h(n)= h(0)*h(n-1)+h(1)*h...
2018-04-05 15:32:07 330
原创 浅谈C语言缓冲区问题
这里是转载,个人感觉他写的真的很不错。缓冲区问题详解scanf中比较少用的是 [ 扫描字符集合, ^ 类似数学中的补集。*忽略读到的内容,[^\n]任何非\n的字符;将\n之前的所有字符读走。...
2018-04-04 22:14:39 345
原创 使用多文件编译线性表时出现,LNK2005:int_cdecl int_list(..) 解决办法
出现:1>------ 已启动生成: 项目: 线性表, 配置: Debug Win32 ------1>Xxb2-1.obj : error LNK2005: "int __cdecl init_list(struct SqList &)" (?init_list@@YAHAAUSqList@@@Z) 已经在 List.obj 中定义1>C:\Users\Shinelon\De
2017-11-12 17:44:36 832
原创 解释型语言和编译型语言的区别
解释型语言程序不需要编译,程序在运行时才翻译成机器语言,每执 行一次都要翻译一次。例如java语言,java程序首先通过编译器编译成class文件,如果在windows平台上运行,则通过windows平台上的java虚拟机(VM)进行解释。如果运行在linux平台上,则通过linux平台上的java虚拟机进行解释执行。所以说能跨平台,前提是平台上必须要有相匹配的java虚拟机。如果没有java
2017-11-10 19:57:50 355
转载 在c++11中讨论nullptr和NULL
C++ 11 nullptr关键字熟悉C++的童鞋都知道,为了避免“野指针”(即指针在首次使用之前没有进行初始化)的出现,我们声明一个指针后最好马上对其进行初始化操作。如果暂时不明确该指针指向哪个变量,则需要赋予NULL值。除了NULL之外,C++11新标准中又引入了nullptr来声明一个“空指针”,这样,我们就有下面三种方法来获取一个“空指针”:如下:int *p1
2017-11-03 23:42:45 382
原创 笔记(一)初识C++
输入输出#include int main(){ std::cout << "Enter two number:"<< std::endl;
2017-11-03 17:53:03 290
原创 将本地文件上传至GitHub
1. 下载并安装gitbash 下载地址:https://git-for-windows.github.io/安装教程:https://jingyan.baidu.com/article/90895e0fb3495f64ed6b0b50.html2.注册GitHub 账号https://github.com/3.在你上要上传的文件夹中,右键选择git bash her
2017-10-14 15:51:20 604
原创 1
consual 碰巧的,随便的,临时的contrast (形成)对比,对照decorate 装饰,装潢,授予(某人)勋章deposit 使沉淀,存放,沉积物,押金,订金,存放derive 追溯-。。。起源 得到eliminate 排除,清除,淘汰emphasis 强调重视
2017-10-02 10:25:14 370
原创 浅谈---assert
我们知道头文件唯一的目的就是提供宏assert的定义。让我们在程序不应该出现的问题的地方使用这个宏进行断言。如果一处断言被证明非真,我们希望程序在标准错误流中输出一条适当的提示信息。并且使程序异常终止。看到这里也许会有很多疑问,什么算是合适的地方?要是在不合适的地方使用断言会怎么样?如何写到标准错误流中的?下面我们会一点点来谈这方面的内容。在编写代码时,使用断言代码的确会变得更简单,但是有
2017-09-23 15:00:26 309
C++术语表
2017-11-03
钢管运输最优化
2017-10-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人