自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

转载 内存对齐的规则及作

原文链接:http://www.cppblog.com/snailcong/archive/2009/03/16/76705.html首先由一个程序引入话题: 1 //环境:vc6 + windows sp2 2 //程序1 3 #include  4  5 using namespace std; 6  7 struct st1  8 { 9

2016-11-27 21:33:44 352

原创 c++ private static 成员变量如何初始化?

用c++实现单例设计模式的时候,初始化private static 成员变量折腾了一把,这种细节确实记得不清楚。#include using namespace std;class Singleton{private: static Singleton* st; //static Singleton* st = NULL; //错误 Singleton(){}public

2016-11-22 15:20:44 14272 2

转载 c语言内存模型

原文链接:http://www.cnblogs.com/haore147/p/3921263.html文章一、C语言的内存分配模型1、程序代码区:存放函数体的二进制代码。2、全局区数据区:全局数据区划分为三个区域。全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。常量数据存放在另一个区域

2016-11-20 10:45:09 395

转载 深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p

原文链接:有点乱没找到一、可能的组合:(1)const char*p(2)char const*p(3)char *const p(4)const char **p(5)char const**p(6)char *const *p(7)char **const p当然还有在(5)、(6)、(7)中再插入一个const的若干情况,不

2016-11-17 20:57:17 592

转载 线程同步:原子操作、锁、二元信号量、信号量、互斥量、临界区、读写锁、条件变量

原子操作共享数据(全局变量或堆变量)的自增(++)操作在多线程环境下会出现错误是因为这个操作(一条c语句)被编译为汇编代码后不止一条指令,因此在执行的时候可能执行了一半就被调度系统打断,去执行别的代码。我们把单指令的操作称为原子的(Atomic),因为无论如何,单条指令的执行是不会被打断的。为了避免出错,很多体系结构都提供了一些常用操作的原子指令,例如i386就有一条inc指令可以

2016-11-10 20:50:26 3246

转载 进程的地址空间:TEXT,DATA,BSS,HEAP,STACK

原文链接:http://harttle.com/2015/07/22/memory-segment.html现代操作系统对每个进程都分配了完整的虚拟内存地址空间。进程会把整个地址空间分成多个区间来使用。 程序员最为熟悉的两个区间莫过于堆和栈。然而还有其他的内存区间来存储代码、静态、全局变量等等。 本文来总结一下这些内存区间到底存的是哪些东西。先看图: 图片来源: SWAT

2016-10-31 14:42:45 1228

转载 linux中fork()函数详解(原创!!实例讲解)

原文链接:http://blog.csdn.net/jason314/article/details/5640969一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调

2016-10-28 20:02:16 250

转载 C++中复制构造函数与重载赋值操作符总结

原文链接:http://www.jellythink.com/archives/378前言这篇文章将对C++中复制构造函数和重载赋值操作符进行总结,包括以下内容:复制构造函数和重载赋值操作符的定义;复制构造函数和重载赋值操作符的调用时机;复制构造函数和重载赋值操作符的实现要点;复制构造函数的一些细节。复制构造函数和重载赋值操作符的定义我们都知道,在C++中建

2016-10-26 14:23:09 360

转载 C++拷贝构造函数(深拷贝,浅拷贝)

原文连接:http://www.cnblogs.com/BlueTzar/articles/1223313.html对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 #include iostream>usin

2016-10-14 13:40:31 230

转载 图的遍历之 深度优先搜索和广度优先搜索

原文链接:http://www.cnblogs.com/skywang12345/p/3711483.html本章会先对图的深度优先搜索和广度优先搜索进行介绍,然后再给出C/C++/Java的实现。目录 1. 深度优先搜索的图文介绍 1.1 深度优先搜索介绍 1.2 深度优先搜索图解 2. 广度优先搜索的图文介绍 2.1 广度优先搜索介绍 2.2 广度优

2016-10-12 13:26:04 358

转载 关于寻路算法的一些思考(1):A*算法介绍

原文连接:http://blog.jobbole.com/71044/物体的移动算法似乎显得很简单,然而寻路规划问题却十分复杂。考虑下面这个例子:这个单位的初始位置在地图的下方,想要到达地图的顶部。如果物体所能侦测到的地方(粉色部分所示)并没有障碍,那么物体就会直接向上走到它的目标位置。但在距离顶端较近的位置时,物体侦测到了障碍,因而改变了方向。该物体将不得不行进一个“U”

2016-10-04 18:57:48 2050

转载 回溯法 之 八皇后问题

原文链接:http://blog.csdn.net/crayondeng/article/details/17174557回溯法回溯法有“通用的解题法”之称。用它可以系统地搜索一个问题的所有解或任一解。回溯法是一种即带有系统性又带有跳跃性的搜索算法。它在问题的解空间树中,按深度优先策略,从根节点出发搜索解空间树。算法搜索至解空间树的任一结点时,先判断该节点是否包含问题的解。如果不包

2016-10-03 19:52:19 623

转载 求有环单链表中的环长、环起点、链表长

原文链接:http://www.cnblogs.com/xudong-bupt/p/3667729.html1.判断单链表是否有环  使用两个slow, fast指针从头开始扫描链表。指针slow 每次走1步,指针fast每次走2步。如果存在环,则指针slow、fast会相遇;如果不存在环,指针fast遇到NULL退出。  就是所谓的追击相遇问题:    2

2016-10-02 11:03:59 246

转载 java 字节流和字符流的区别

原文链接:http://wjheye.iteye.com/blog/1041309字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示。  下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的

2016-09-30 22:03:36 365

转载 Linux进程与线程的区别

原文链接:http://blog.csdn.net/mxsgoden/article/details/8821936Linux进程与线程的区别cnyinlinux本文较长,耐心阅读,必有收获!进程与线程的区别,早已经成为了经典问题。自线程概念诞生起,关于这个问题的讨论就没有停止过。无论是初级程序员,还是资深专家,都应该考虑过这个问题,只是层次角度不同罢了。一般程序员而言,搞清楚二者

2016-09-29 17:05:28 243

转载 类名.class 类名.this 详解

原文链接:http://www.cnblogs.com/PengLee/p/3993033.html类名.class     我们知道在java中,一个类在被加载的时候虚拟机就会自动的生成一个这个类的一个Class类型的“类对象”,每个类都对应着一个这样的类对象,通过这个Class类型的类对象,我们就能够使用“内省与反射”机制,访问一个类的信息,比如:对应类中的方法有哪些,成员域有

2016-09-28 20:33:56 17497 6

转载 JAVA – 虚函数、抽象函数、抽象类、接口

JAVA – 虚函数、抽象函数、抽象类、接口1. Java虚函数虚函数的存在是为了多态。C++中普通成员函数加上virtual关键字就成为虚函数Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为。如果Java中不希望某个函数具有虚函数特性,可以加上final关键字变成非虚函数PS: 其实C++和Java在虚函数的观点大同小异

2016-09-28 13:04:42 307

转载 malloc/free和new/delete的区别和联系

相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内,不

2016-09-27 16:51:22 1587

原创 从一个小例子来初步认识递归,迭代,动态规划。

问题:有n步台阶,一次只能上1步或者2步,共有多少种走法?思路:a 递归步骤1:找到走完前n步台阶和前n-1步台阶之间的关系。为了走上n步台阶,只有两种方法:从n-1步台阶爬1步走到或从n-2步台阶处爬两步走到。如果f(n)是爬到第n台阶的方法数,则f(n) = f(n-1) + f(n -2)。这里需要思考:n为2时等式是否成立,也就是使等式成立的n的范围

2016-09-27 11:05:58 4590 1

转载 C++ 引用占用内存?

一、引用的本质是什么说到引用,一般C++的教材中都是这么定义的:1,引用就是一个对象的别名。2,引用不是值不占内存空间。3,引用必须在定义时赋值,将变量与引用绑定。那你有没有想过,上面的定义正确吗?编译器是如何解释引用的?这里先给出引用的本质定义,后面我们再进一步论证。1,引用实际是通过指针实现的。2,引用是一个常量指针。3,引用在内存中占4个字节。

2016-09-21 21:32:23 13516 15

转载 c/c++ 函数类型和函数指针类型 详解

c/c++ 中数据结构跟指针真的是很强大今天解释下 函数类型和函数指针类型1.函数类型在C语言中,函数也是一种类型,可以定义指向函数的指针。我们知道,指针变量的内存单元存放一个地址值,而函数指针存放的就是函数的入口地址.123456789101112131415#include void say_hello(const char *str);void (*fptr)

2016-09-08 11:41:46 13913

转载 deque实现原理

原文链接:http://www.cnblogs.com/ourroad/p/3356053.htmlSTL中deque是我们常说的双端队列,既可以从头添加元素,也可以从尾部添加元素,deque的成员函数和vector的成员函数十分相似,但是它们的内部实现却又很多不同. deque的模板声明:template  class T, class Allocator =

2016-09-03 15:13:33 4849

转载 修改Python IDLE代码配色及语法高亮主题

原文链接:http://wangye.org/blog/archives/634/

2016-04-08 19:11:49 1381

转载 Python函数参数默认值的陷阱和原理深究

原文链接:http://cenalulu.github.io/python/default-mutable-arguments/

2016-04-07 09:54:04 272

转载 python可变对象和不可变对象

原文链接:http://thomaschen2011.iteye.com/blog/1441254

2016-04-06 20:03:04 451

转载 OpenCV坐标体系的初步认识

原文链接:http://www.cnblogs.com/tornadomeet/archive/2012/12/12/2813939.html前言  相信很多朋友在使用OpenCV的时候会遇到一个小问题,且有时候对这样的小问题没有引起足够的重视,或者通过表面想当然的去编程,所以调试代码时出现一些莫名其妙的问题,最后发现问题时时间已经过去了一大把。最近我在调试一个项目时就遇到过这

2016-02-28 14:58:50 353

转载 细化算法

原文连接:http://www.cnblogs.com/mikewolf2002/p/3321732.html程序编码参考经典的细化或者骨架算法文章:T. Y. Zhang and C. Y. Suen, “A fast parallel algorithm for thinning digital patterns,” Comm. ACM, vol. 27, no. 3, pp. 2

2016-02-28 10:22:10 5493 1

转载 使用typedef语句定义数组类型

原文链接:http://www.cnblogs.com/Jason-Damon/archive/2011/10/23/2222119.html使用typedef语句定义数组类型    1. 一维数组类型的定义格式        typedef [];    例如:    (1) typedef int vector[10];    (2) typedef cha

2016-02-26 14:25:32 487

转载 C++有哪几种情况只能用初始化列表,而不能用赋值?

原文链接:http://blog.csdn.net/yuliu0552/article/details/6631509C++有哪几种情况只能用初始化列表,而不能用赋值?(1)对于const和reference类型成员变量,它们只能够被初始化而不能做赋值操作,因此只能用初始化列表;初始化与赋值是不同的:赋值是删除原值,赋予新值,构造函数的意思是先开辟空间然后为其赋值,

2016-01-14 19:08:24 895

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除