自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(17)
  • 资源 (9)
  • 收藏
  • 关注

原创 事件处理方式 && 消息传递机制

所有的android事件,都是通过底层驱动将事件整理成Message放入到相应的MessageQueue,再通过Looper来分发,最终到达控件或者Activity的监听器或者事件处理函数。基于监听的事件处理    为组件绑定特定的事件监听器。View.setOnClickListener(OnClickListener);    Event Source\ Event\ Even

2015-02-09 16:10:14 770

原创 TouchEvent事件的传递

onInterceptTouchEvent & onTouchEvent注意onTouchEvent是自上而下传递,而onInterceptTouchEvent却是由下而上传递的。1.如果onInterceptTouchEvent 返回false,则继续向上传递,不传递给自己的onTouchEvent,同时后续事件仍会经过。2.如果onInterceptTouchEvent 返回t

2015-02-09 15:45:36 617

翻译 android 拖放模型

英文原文:http://developer.android.com/guide/topics/ui/drag-drop.htmlps:时间过去好久了,这篇文章一直在我的网易云笔记里面丢着。我自己都忘了这是我摘抄的网上的童鞋的,还是自己翻译的。应该是生成于2013年10月17日,大概在我当时在写android Launcher的项目时记录的。 为了不侵犯别个的权益,聪明的我在文章里捡

2015-02-09 15:18:41 653

原创 探讨c++函数中的参数传递与返回值(六) 总结

第六章 总结引用,实际上是C++为了简化指针操作,对指针的操作进行了封装,产生了引用类型。实际上引用类型就是指针类型,只不过它用于存放地址的内存空间对使用者而言是隐藏的,而且对引用的任何操作都会被重定向到其指向的变量。    一句话,引用是一种特殊指针。参数传递:参数传递时候,必然会发生从实参到形参的拷贝。其中:·普通值做参数时,直接拷贝值从实参到栈上作为形参;·指针做参数时,

2013-01-05 11:14:26 805

原创 探讨c++函数中的参数传递与返回值(五) 复杂型值的参数传递与返回值

第五章 复杂型值的参数传递与返回值1.数组做参数或返回值         数组做参数或返回值时,传入传出的值将会是数组首地址。其方式与指针类似。示例源码:char* FuncReturnArray(char szAry[]){ return szAry;}void main(){ char szArray[] = "hello"; FuncReturnArray

2013-01-05 11:08:55 1102

原创 探讨c++函数中的参数传递与返回值(四) 浮点型值的参数传递与返回值

第四章 浮点型值的参数传递与返回值浮点型值做参数和返回值的处理跟简单型值基本一致,区别在于:1. 浮点型值参数拷贝到栈的操作需要浮点寄存器的支持;  先为浮点型值参数预留栈空间,float 4字节, double 8字节,使用push或sub esp,N指令,再使用fld和fstp指令,将实参的值拷贝到栈上空间。2. 浮点型值做返回值,不是用eax传出返回值,而是用浮点寄存器ST0

2013-01-05 10:00:33 2213

原创 探讨c++函数中的参数传递与返回值(三) 函数返回值

第三章 返回值众所周知,函数的返回值是由eax传递出来的(浮点数则用浮点数寄存器ST0及浮点指令fld等)。返回简单值类型的时候,eax中存储的是变量的值。若以指针、引用做返回值,则会mov指针或引用所在内存中的地址值到eax,然后在外部接收返回值时候,在做一次mov操作。在32位系统中,寄存器eax与地址值一样,均为32位,因此可用eax直接返回。测试代码:int g

2013-01-05 09:57:44 713

原创 探讨c++函数中的参数传递与返回值(二) 传参

第二章 传参下面我们来讨论传参的情况:在参数传递的过程中,有一个动作是必然会发生的,这就是从实参到形参的拷贝。在值传递过程中,拷贝的是变量的值(如有必要,调用拷贝构造函数)。在指针传递过程中,拷贝的则是指针的值,也就是所指向变量的地址。在引用过程中,拷贝的是引用所在内存中的值,其实也就是上文所说的常指针的值,总之拷贝的是个地址。而在函数内部,对拷贝进来的这个值的任何改变都不

2013-01-05 09:53:48 591

原创 探讨c++函数中的参数传递与返回值(一) 概念介绍与理解

本文从编译器角度,通过反汇编手段,深入的理解了1.引用的理解与使用2.结构体和类做参数时的底层实现,并对函数参数和返回值的各种情况做了归纳。希望能对大家有用,也希望大家能针对本文中的一些不足和缪误给予指正。本文中例子均是用VS系列的VS2008编译环境下测试的。第一章 概念介绍与理解首先从大的方面来分,参数和返回值的传递可以分为pass by value、pass by point

2013-01-05 09:45:28 1194

原创 STL源码剖析 笔记之八 配接器

第八章 配接器配接器在STL组件的灵活组合运用上,扮演着轴承、转换器的角色。设计模式中对配接器的定义如下:将一个class的接口转换为另一个class的接口,使其因接口不兼容而不能合作的classes,可以一起运作。1.container adapter 改变容器接口的配接器STL提供的queue和stack这两个容器,其实属于配接器,它们修饰deque的接口而成就另一种容器风貌。

2012-12-11 20:44:20 596

原创 STL源码剖析 笔记之七 仿函数

第七章 仿函数仿函数又称函数对象,一种具有函数特质的对象。用仿函数替代函数指针的原因,函数指针不能满足STL对抽象性的要求,也不能满足软件积木的要求(与其他STL组件配搭)。所有的仿函数定义于,使用时需包含头文件。STL仿函数的可配接性STL仿函数应该有能力被函数配接器修饰,彼此像积木一样串联。为了拥有配接能力,仿函数必须定义自己的相应类型。就像迭代器如果要融入整个

2012-12-11 20:41:56 699

原创 STL源码剖析 笔记之六 算法

第六章 算法algorithms (这章这里先粗略读过,大体看懂源码就过,不会深究每个算法的实现细节,回头再去研究数据结构与算法设计这本)以有限的步骤,解决逻辑或数学上的问题,我们称为算法。特定的算法往往搭配特定的数据结构。特定的数据结构是为了实现某种特定的算法。决定算法所耗用的资源,包括空间和时间,这个操作称为算法分析。STL算法总览质变算法,是指运算过程中会更改区间

2012-12-11 20:41:03 556

原创 STL源码剖析 笔记之五 关联式容器

第五章 关联式容器标准的STL关联式容器分为set和map两大类,以及这两大类的衍生体multiset和multimap。这些容器的底层机制均以RB-tree完成。RB-tree也是一个独立容器,但是不开放给外界使用。所谓关联式容器,观念上类似关联式数据库:每个元素都有一个键值(key)和一个实值(value)。当元素被插入到关联式容器中时,容器内部结构便依照其键值大小

2012-12-09 13:40:32 698

原创 STL源码剖析 笔记之四 序列式容器

第四章 序列式容器所谓序列式容器,其中的元素都可序,但未必有序。C++语言本身提供了一个序列式容器array。序列式容器:    array        C++内建               vector                    heap    以算法呈现(xxx_heap)                        priority-queu

2012-11-30 14:37:16 518

原创 STL源码剖析 笔记之三 迭代器

第三章 迭代器概念与traits编程技法《Design Patterns》中提供有23个设计模式的完整描述。迭代器模式定义如下,提供一种方法,使之能够依序巡防某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表述方式。迭代器是一种Smart Pointer,迭代器是一种行为类似指针的对象,而指针的各种行为中最重要也是最常见的就是dereference和member a

2012-11-30 14:34:48 479

原创 STL源码剖析 笔记之二 空间配置器

第二章 空间配置器SGI也定义有一个符合部分标准、名为allocator的配置器,但SGI自己从未使用,也不建议使用。它只是把操作符new和delete做一层简单的包装而已。SGI特殊的空间空间配置器,std::alloc一般而言,我们习惯的C++的内存配置和释放操作1.调用new配置内存     alloc::allocate()2.调用构造            ::c

2012-11-30 14:33:03 466

原创 STL源码剖析 笔记之一 STL概述

第一章 STL概述    STL所实现的,是依据泛型思维架设起来的一个概念结构。这个以抽象概念为主体而非以实际类为主体的结构,形成了一个严谨的接口标准。在此接口下,任何组件都有最大的独立性,并以所谓迭代器胶合起来,或以所谓配接器互相配接,或以所谓仿函数动态选择某种策略。STL提供六大组件,彼此可以组合套用。1.容器(contrainers):各种数据结构,如vector,lis

2012-11-30 14:30:31 432

javascript犀利效果100个

javascript常用的效果(懒加载,幻灯片,tab,瀑布流... )

2014-05-27

STLport-5.2.1

STLport是完全兼容ANSI C++标准的类库。 这个发布包仅仅包括STLport源代码,不含二进制发布软件包。必须重新编译src目录下的代码才可以使用STLport iostreams类库。

2012-12-11

STL源码剖析

侯捷的STL源码剖析pdf版本 对SGI STL的实现进行了详细的分析和讨论

2012-12-05

SGI STL 源码

SGI STL源码,完整版实现,可随同侯捷老师的STL源码剖析一书阅读

2012-11-30

深入浅出mfc繁体版

此書雖已出版兩年,鑑於仍具閱讀與技術㆖的價值,鑑於繁簡轉譯製作的費時費工,鑑於我對同胞的感情,我決定開放此書內容,供各位免費閱讀。 ----侯捷

2009-04-28

C++中的虚函数(virtual function)

C++中的虚函数(virtual function) 1.简介 虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次: class A { public: virtual void foo() { cout << "A::foo() is called" << endl;} }; class B: public A { public: virtual void foo() { cout << "B::foo() is called" << endl;} }; 那么,在使用的时候,我们可以: A * a = new B(); a->foo(); // 在这里,a虽然是指向A的指针,但是被调用的函数(foo)却是B的!

2009-02-02

JAR 文件揭密.mht

大多数 Java 程序员都熟悉对 JAR 文件的基本操作。但是只有少数程序员了解 JAR 文件格式的 强大功能。在本文中,作者探讨了JAR 格式的许多功能和优势,包括打包、可执行的 JAR 文件、安全性和索引。 JAR 文件是什么? JAR 文件格式以流行的 ZIP 文件格式为基础,用于将许多个文件聚集为一个文件。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。 一个 JAR 文件可以用于: 用于发布和使用类库 作为应用程序和扩展的构建单元 作为组件、applet 或者插件程序的部署单位 用于打包与组件相关联的辅助资源

2009-02-02

regsvr32.exe问题解决方案

今天电脑打不开所有的邮箱和QQ空间,我都被弄怕了,找了一阵,不是病毒 和什么流氓软件之类的东东造成的,估计是浏览器的问题,后来了解到jscript.dll 没被正确注册可能会导致这种现象的出现,结果用regsvr32 jscript.dll命令 后一切恢复正常。

2009-02-02

电脑不能上网的各种原因

不能上网可能是多方面的原因引起的,涉及到操作系统问题、网络问题、应用软件问题或硬件问题,解决起来需要有一个特定过程。

2008-10-27

空空如也

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

TA关注的人

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