自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 资源 (5)
  • 论坛 (4)
  • 收藏
  • 关注

转载 Android7.0须知--应用间共享文件(FileProvider)

Android N已经出了好几个预览版了,正式版即将到来,为了迎接Android N的到来,我们接到任务,需要测试并解决我们的应用在7.0上面的适配问题和其他bug 。测试的时候,发现了一些bug,其中一个bug,就是在打开相册编辑页时,程序会异常退出。经过排查,发现应用崩溃前,报出FileUriExposedException异常,官网上搜索,发现在Android N的beh

2017-05-12 15:18:31 2597

转载 JAVA 上加密算法的实现用例

转自:http://www.ibm.com/developerworks/cn/java/l-security/第 1 章基础知识1.1. 单钥密码体制单钥密码体制是一种传统的加密算法,是指信息的发送方和接收方共同使用同一把密钥进行加解密。通常 , 使用的加密算法 比较简便高效 , 密钥简短,加解密速度快,破译极其困难。但是加密的安全性依靠密钥保管的安全性 , 在公

2017-01-19 10:37:24 657

转载 Android RecyclerView滚动定位

转载请标明出处: http://blog.csdn.net/tyzlmjj/article/details/49227601 本文出自:【M家杰的博客】概述 RecyclerView在安卓开发中非常实用,而且简单易用,但是在实际开发中一直有一个问题困扰着我,就是定位问题,实际的项目中总是会遇到这样的需求:检索RecyclerView的某一项(各个项的高度不确定),然后定位这

2017-01-17 16:36:46 281

原创 Android进程的内存管理分析

最近在网上看了不少Android内存管理方面的博文,但是文章大多都是就单个方面去介绍内存管理,没有能全局把握,缺乏系统性阐述,而且有些观点有误。这样对Android内存管理进行局部性介绍,很难使读者建立系统性概念,无法真正理解内存管理,对提高系统优化和系统稳定性分析方面的能力是不够的。    我结合自己的一些思考和理解,从宏观层面上,对内存管理做一个全局性的介绍,在此与大家交流分享。

2017-01-17 09:33:44 232

转载 听说2017你想写前端?

转自:http://mp.weixin.qq.com/s/8vz1aIeVpRHmU2E2-7zzsQ不好意思,没有像其他公众号一样赶着发文章,每年到这个时候总有一大波什么今年前端预测,技术框架预测什么的。我这次写这篇文针对的对象,是想在今年踏入前端这行的人们,不管你现在是徘徊在门口,还是已经半只脚踏入这片未知领域,都可以参考一下先行者的经验。先来个大概预览:项目工程化

2017-01-16 11:46:35 383

转载 android 7.0对开发者会有哪些影响

Android N 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。 本文重点介绍您应该了解并在开发应用时加以考虑的一些重要变更。如果您之前发布过 Android 应用,请注意您的应用可能受到这些平台变更的影响。电池和内存Android N 包括旨在延长设备电池寿命和减少 RAM 使用的系统行为变更。 这些变更可能会影响您的应用访问系统资源,以及您的

2017-01-16 11:22:41 314

转载 TextView使用Spannable设置复合文本

转自:http://blog.csdn.net/u013000152/article/details/51627491端午过后又一天,还是没事干,再写一篇博客,过后就要期末考试了,可能最近就不出博文了,等暑假再重出江湖吧。今天来弄弄这个TextView的效果,应用场景还是很广泛的,一个TextView文本拥有各种各样的样式,以前给文本插入图片都是那种drawableLeft啥的ri

2017-01-13 16:56:43 343

原创 Android数据持久化存储方式

Android系统中主要提供了三种方式用于简单的实现数据持久化功能:文件存储(手机自带的内存)、SharedPreferences存储以及数据库存储, 当然还可以用sd卡存储1,文件存储特点:手机自带的内存,只能供当前应用程序访问,其他应用程序访问不了,程序卸载这些数据也会随着消失原理:基本是先获取一个文件的输出流,然后把信息writ

2017-01-12 14:17:44 418

转载 知道这20个正则表达式,能让你少写1,000行代码

转自:http://www.jianshu.com/p/e7bb97218946正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的JavaScript代码:var reg = /^

2017-01-10 09:42:46 212

转载 Android 进程保活招式大全

转自:http://mp.weixin.qq.com/s?__biz=MzA3NTYzODYzMg==&mid=2653577617&idx=1&sn=623256a2ff94641036a6c9eea17baab8&scene=1&srcid=0818EecQYYkaSkd5HD8WjDf8##d5HD8WjDf8##目前市面上的应用,貌似除了微信和手Q都会比较担心被用户或者系统(厂商)

2017-01-04 11:52:59 239

转载 深入理解 Session 与 Cookie

转自:http://www.ibm.com/developerworks/cn/java/books/javaweb_xlb/10/index.html摘要: Session 与 Cookie 不管是对 Java Web 的初学者还是熟练使用者来说都是一个令人头疼的问题。在初入职场时恐怕很多程序员在面试的时候都被问到过这个问题。其实这个问题回答起来既简单又复杂,简单是因为它们本身只是 HTTP

2016-12-29 15:13:35 263

转载 Android 5.0学习之Activity共享元素过渡动画

前言Activity Transition:提供了三种Transition类型:进入:一个进入的过渡(动画)决定activity中的所有的视图怎么进入屏幕。退出:一个退出的过渡(动画)决定一个activity中的所有视图怎么退出屏幕。共享元素:一个共享元素过渡(动画)决定两个activities之间的过渡,怎么共享(它们)的视图。

2016-12-26 17:09:10 1980

转载 Android 一键清理、内存清理功能实现

说明在总篇中提到过垃圾清理,本篇将着重介绍针对缓存、卸载残留、无用数据等“静态内容”的清理,有关于系统进程的清理以及手机加速的相关功能,将放到《手机加速篇》中介绍研究。什么是垃圾关于系统垃圾的定义现在很多手机管理软件中都有垃圾清理的功能,本篇也来对垃圾清理做一个简单的分析和介绍。在正式分析之前,让我们首先看一下“什么叫系统垃圾?”。在百度本科中,关于“系

2016-10-09 14:32:40 1206

原创 实际应用中Service不被Kill掉的方法

本文分为两个部分,第一部分为双Service守护,第二部分为双进程守护第一部分:一、Service简介:Service是应用程序Application的一个组件(component)。它的作用有两点:1.用来提供一个长期在后台运行并且不与用户交互的操作,2.也可以为其他应用程序提供服务。Service必须和其他四大组件一样,使用标签在AndroidManifest.xml中

2016-09-17 15:03:06 1747

转载 Android Gradle实用技巧——多渠道打包

转自:http://www.cnblogs.com/csonezp/p/4900042.html友盟有很多不错的功能,例如渠道统计等。想要做渠道统计,有一个要求就是要在manifest文件中添加各个渠道的配置。只有一两个渠道还好说,但是渠道多了的话,手动修改然后打包简直是噩梦。幸好现在Android的构建工具换成了gradle,通过gradle,简单配置后就可以实现自动打所

2016-09-17 14:24:34 336

转载 给 Android 开发者的 RxJava 详解

转自:http://gank.io/post/560e15be2dca930e00da1083前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有

2016-09-17 14:20:42 289

原创 Android 内存泄漏总结

内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个或某些实例所持有却不再被使用导致 GC 不能回收。最近自己阅读了大量相关的文档资料,打算做个 总结 沉淀下来跟大家一起分享和学习,也给自己一个警示,以后 coding 时怎么避免这些情况,提高应用的体验和质量。我会从 java 内存泄漏的基

2016-08-04 10:59:44 172

转载 不可不知的 Android strings.xml 那些事

相信 strings.xml 已经是大家在 Android 开发中最熟悉的文件之一了,但其实它也有很多需要注意的地方和一些小技巧,知道了这些可以让你的 Android 应用更加规范易用,大家来看看吧。: )不要复用不要在不同的界面中复用相同的字符串。这一条可能很多人会有不同的意见,因为广为流行的编程理念就在教导我们要复用代码,当然代码复用是很好的理念,可以让程序更加简洁。但也容

2016-08-01 09:48:54 272

转载 Android抽象布局——include、merge 、ViewStub

在布局优化中,Androi的官方提到了这三种布局、、,并介绍了这三种布局各有的优势,下面也是简单说一下他们的优势,以及怎么使用,记下来权当做笔记。1、布局重用标签能够重用布局文件,简单的使用如下:[html] view plain copy print?LinearLayout xmlns:android=

2016-07-27 09:18:16 155

原创 android打开系统图库终极适配

android中调用系统图库本来是一个很基本的东西,几乎每个app都用的到(最基本的更换用户头像),网上的相关内容很多,本来找了几篇看了一下,拿几台测试机试了一下感觉就没什么问题了,但是适配问题慢慢就来了。一.打开图库的基本方法。通过查询资料,调用系统图库基本有3种方法。1.使用Intent.ACTION_PICKIntent i = new Intent(Intent.ACTION_

2016-07-22 14:15:50 5721 2

转载 ANDROID内存优化(大汇总——全)

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持!写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面

2016-07-20 15:45:55 412

转载 Android 属性动画(Property Animation) 完全解析

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/380674751、概述Android提供了几种动画类型:View Animation 、Drawable Animation 、Property Animation 。View Animation相当简单,不过只能支持简单的缩放、平移、旋转、透明度基本的动画,且有一

2016-07-20 15:28:43 411

转载 Android中为什么主线程不会因为Looper.loop()里的死循环卡死?

转自:https://www.zhihu.com/question/34652589app程序入口中为主线程准备好了消息队列… 显示全部举报1 条评论 分享 • 邀请回答按投票排序按时间排序26 个回答245赞同反对,不会显示你的姓名Gityuan ,http://gityu

2016-07-20 14:09:55 2733

转载 MVP模式在Android开发中的应用

转自:http://blog.csdn.net/vector_yi/article/details/24719873一、MVP介绍     随着UI创建技术的功能日益增强,UI层也履行着越来越多的职责。为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Model-Vi

2016-07-15 14:30:31 287

转载 Android 带你从源码的角度解析Scroller的滚动实现原理

转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17483273),请尊重他人的辛勤劳动成果,谢谢!今天给大家讲解的是Scroller类的滚动实现原理,可能很多朋友不太了解该类是用来干嘛的,但是研究Launcher的朋友应该对他很熟悉,Scroller类是滚动的一个封装类,可以实现View的平滑滚动效果,

2016-05-25 15:11:58 237

转载 Android MotionEvent详解

在前边几篇博文中(《图解Android事件传递之ViewGroup篇》,《图解Android事件传递之View篇》),我们已经了解了android触摸事件传递机制,接着我们再来研究一下与触摸事件传递相关的几个比较重要的类,比如MotionEvent。我们今天就来详细说明一下这个类的各方面用法。事件坐标的含义 我们都知道,每个触摸事件都代表用户在屏幕上的一个动作,而每个动作必定有其发

2016-05-18 14:15:43 374

转载 Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏

译者地址:【翻】Android Design Support Library 的 代码实验——几行代码,让你的 APP 变得花俏原文:Codelab for Android Design Support Library used in I/O Rewind Bangkok session----Make your app fancy with few lines of code原文项目 d

2016-05-13 17:45:08 358

转载 Android 热补丁动态修复框架小结

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/49883661; 本文出自:【张鸿洋的博客】一、概述最新github上开源了很多热补丁动态修复框架,大致有:https://github.com/dodola/HotFixhttps://github.com/jasonross/Nuwahtt

2016-05-12 17:43:26 402

原创 MultiDex使用方法

随着应用不断迭代,业务线的扩展,应用越来越大(比如集成了各种第三方sdk或者公共支持的jar包,项目耦合性高,重复作用的类越来越多),相信很多人都遇到过如下的错误:UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: method ID not in [0, 0xffff]: 65536 at com.a

2016-05-12 09:51:56 580

转载 Android WebView开发问题及优化汇总 .

我们在native与网页相结合开发的过程中,难免会遇到关于WebView一些共通的问题。就我目前开发过程中遇到的问题以及最后得到的优化方案都将在这里列举出来。有些是老生常谈,有些则是个人摸索得出解决方法。下面就是整理得到的些干货。1.加快HTML网页装载完成的速度默认情况html代码下载到WebView后,webkit开始解析网页各个节点,发现有外部样式文件或者外部脚本文件时,会异

2016-04-01 09:56:37 216

转载 Android5.x Notification应用解析

转自:http://blog.csdn.net/itachi85/article/details/50096609Notification可以让我们在获得消息的时候,在状态栏,锁屏界面来显示相应的信息,很难想象如果没有Notification,那我们的qq和微信以及其他应用没法主动通知我们,我们就需要时时的看手机来检查是否有新的信息和提醒着实让人烦心,也体现出Notification重要性。这

2016-03-30 16:32:30 439

原创 RecyclerView的拖动和滑动

在安卓中,有许多关于如何使用RecyclerView实现“drag & drop”与swipe-to-dismiss”的教程,库和例子。即使现在已经有了新的,更优的实现方式,大多数仍然是使用老旧的View.OnDragListener以及Roman Nurik在SwipeToDismiss中所使用的方法。很少有人使用新的api,反而要么经常依赖于GestureDetectors和onInter

2016-03-24 10:08:54 666

转载 Android WebView的Js对象注入漏洞解决方案

转自:http://blog.csdn.net/leehong2005/article/details/11808557目录(?)[+]最近在做一个项目过程中,发现了一个很严重的安全漏洞,这个漏洞是乌云平台(http://www.wooyun.org)报告出来的。1,使用场景我们很多时候要使用WebView来展示一个网页,现在很多应用为了做到服务端可

2016-03-22 10:25:05 242

转载 Intent,Action,大全

Intent的中文意思是“意图,目的”的意思,可以理解为不同组件之间通信的“媒介”或者“信使”。    目标组件一般要通过Intent来声明自己的条件,一般通过组件中的元素来过滤。    Intent在由以下几个部分组成:动作(action),数据(data),分类(Category),类型(Type),组件(Component),和扩展信息(Extra)。    Inte

2016-03-10 17:25:15 304

转载 android 6.0权限全面详细分析和解决方案

Marshmallow版本权限修改  android的权限系统一直是首要的安全概念,因为这些权限只在安装的时候被询问一次。一旦安装了,app可以在用户毫不知晓的情况下访问权限内的所有东西,而且一般用户安装的时候很少会去仔细看权限列表,更不会去深入了解这些权限可能带来的相关危害。所以在android 6.0 Marshmallow版本之后,系统不会在软件安装的时候就赋予该app所有其申请的权

2016-03-09 16:08:12 403

转载 多渠道打包

概述每当发新版本时,美团团购Android客户端会被分发到各个应用市场,比如豌豆荚,360手机助手等。为了统计这些市场的效果(活跃数,下单数等),需要有一种方法来唯一标识它们。团购客户端目前通过渠道号(channel)来区分不同的市场,代码中使用Config.channel变量记录该渠道号。比如,豌豆荚市场中美团应用的渠道号是wandoujia,360手机助手中美团应用的渠道号为q

2016-03-08 10:34:31 153

转载 Uri详解之——Uri结构与代码提取

前言:依然没有前言……上几篇给大家讲了ContentProvider,里面有用到Uri,可能很多同学对Uri是什么,怎么来的,这些都不是很熟悉,今天就给大家具体讲讲Uri一、URI与Uri大家可能经常会看到在开发时,怎么有的时候是URI,有的时候是Uri,这是怎么回事?名称如此相像的两个类是有什么区别和联系?1.所属的包不同。

2016-03-03 14:53:45 171

原创 Android Fragment嵌套使用存在的一些BUG

自从Android3.0引入了Fragment之后,使用Activity去嵌套一些Fragment的做法也变得更加流行,这确实是Fragment带来的一些优点,比如说:Fragment可以使你能够将activity分离成多个可重用的组件,每个都有它自己的生命周期和UI,更重要的是Fragment解决了Activity间的切换不流畅,实现了一种轻量及的切换,但是在官方提供的android.suppo

2016-03-01 10:23:39 303

转载 Android 深入理解Android中的自定义属性

上:1、引言对于自定义属性,大家肯定都不陌生,遵循以下几步,就可以实现:自定义一个CustomView(extends View )类编写values/attrs.xml,在其中编写styleable和item等标签元素在布局文件中CustomView使用自定义的属性(注意namespace)在CustomView的构造方法中通过TypedArray获取

2016-01-20 17:55:57 1479

转载 Android studio 使用心得(五)—代码混淆和破解apk

http://www.softwareace.cn/?p=1151这篇文章等是跟大家分享一在Android studio 进行代码混淆配置。之前大家在eclipse上也弄过代码混淆配置,其实一样,大家可以把之前在eclipse上的配置文件直接拿过来用。不管是.cfg文件还是.txt文件都一样。先给大家贴一个混淆模板吧。注释很清楚。是我目前一个项目用的proguard.cfg配置文件

2016-01-04 18:29:31 461

MC9S08DZ60 SCI+AD+PWM程序代码集合

MC9S08DZ60 SCI+AD+PWM程序集合

2012-08-17

嵌入式实时操作系统uCOS-II》(第二版)pdf电子书及配套光盘

嵌入式实时操作系统uCOS-II》(第二版)pdf电子书及配套光盘

2012-08-17

IT学生解惑真经

在校的IT学生有几百万 都在为如何如何学习才能找到工作、融入社会而迷惑 我们需要的不是灵丹妙药 而是一本让你少走几年弯路的 这是一部写给在校计算机专业学生的书 如果没有看到这本书 你可能会茫然无措的度过学习阶段 把这本书推荐给你的同学 你会得到更多朋友

2012-07-25

( C++_标准模板库(STL)

C++ STL (Standard Template Library标准模板库) 是通用类模板和算法的集合,它提供给程序员一些标准的数据结构的实现如 queues(队列), lists(链表), 和 stacks(栈)等. C++ STL 提供给程序员以下三类数据结构的实现: 标准容器类 顺序性容器 vector 从后面快速的插入与删除,直接访问任何元素 deque 从前面或后面快速的插入与删除,直接访问任何元素 list 双链表,从任何地方快速插入与删除 关联容器 set 快速查找,不允许重复值 multiset 快速查找,允许重复值 map 一对多映射,基于关键字快速查找,不允许重复值 multimap 一对多映射,基于关键字快速查找,允许重复值 容器适配器 stack 后进先出 queue 先进先出 priority_queue 最高优先级元素总是第一个出列 程序员使用复杂数据结构的最困难的部分已经由STL完成. 如果程序员想使用包含int数据的stack, 他只要写出如下的代码: stack<int> myStack; 接下来, 他只要简单的调用 push() 和 pop() 函数来操作栈. 借助 C++ 模板的威力, 他可以指定任何的数据类型,不仅仅是int类型. STL stack实现了栈的功能,而不管容纳的是什么数据类型.

2012-07-25

C++ Primer第三版

本书为C++国际标准进行了全面的介绍在此意义上它是一个初级读本primer 它提供了一种指导性的方法来描述C++语言但是它也为C++语言提供了一种简单而温 和的描述从这个角度来看它不是一本初级读物C++语言的程序设计要素比如异常 处理容器类型面向对象的程序设计等等都在解决特定问题或程序设计任务的上下文环 境中展示出来C++语言的规则比如重载函数调用的解析过程以及在面向对象程序设计下 支持的类型转换本书都有广泛的论述这似乎超出了一本初级读本的范畴我们相信为 了加强读者对于C++语言的理解覆盖这些内容是必要的对于这些材料读者应该不时地 回头翻阅而不是一次消化了事如果开始的时候你发现这些内容比较难以接受或者过于枯 燥请把它们放到一边以后再回头来看——我们为这样的章节加上了特殊的记号 阅读本书不需要具备C 语言的知识但是熟悉某些现代的结构化语言会使学习进展更 快一些本书的意图是作为学习C++的第一本书而不是学习程序设计的第一本书为了确 保这一点我们会以一个公共的词汇表作为开始然而开始的章节涵盖了一些基本的概念 比如循环语句和变量等有些读者可能会觉得这些概念太浅显了不必担心深层的内容很 快就会看到 C++的许多威力来自于它对程序设计新方法的支持以及对程序设计问题的思考方式 因此要想有效地学习使用C++ 不要只想简单地学会一组新的语法和语义为了使这种学 习更加容易本书将围绕一系列可扩展的例子来组织内容这些例子被用来介绍各种语言特 性的细节同时也说明了这些语言特性的动机所在当我们在一个完整例子的上下文环境中 学习语言特性时对这些特性为什么会有用处也就变得很清楚了它会使我们对于何时以 及怎样在实际的问题解决过程中使用这些特性有一些感觉另外把焦点放在例子上可 使读者能够尽早地使用一些概念随着读者的知识基础被建立起来之后这些概念会进一步 完整地解释清楚本书前面的例子含有C++基本概念的简单用法读者可以先领略一下C++ 中程序设计的概貌而不要求完全理解C++程序设计和实现的细节 第1 章和第2 章形成了一个独立完整的C++介绍和概述第一篇的目的是使我们快速地 理解C++支持的概念和语言设施以及编写和执行一个程序所需要的基础知识读完这部分 内容之后你应该对C++语言有了一些认识但是还谈不上真正理解C++ 这就够了那是 本书余下部分的目的 第1 章向我们介绍了语言的基本元素内置数据类型变量表达式语句以及函数 它将介绍一个最小的合法的C++程序简要讨论编译程序的过程介绍所谓的预处理器 preprocessor 以及对输入和输出的支持它给出了多个简单但却完整的C++程序鼓励 读者亲自编译并执行这些程序第2 章介绍了C++是如何通过类机制为基于对象和面向对 象的程序设计提供支持的同时通过数组抽象的演化过程来说明这些设计思想另外它简 要介绍了模板名字空间异常处理以及标准库为一般容器类型和泛型程序设计提供的支 持这一章的进度比较快有些读者可能会觉得难以接受如果是这样我们建议你跳过这 一章以后再回过头来看它 C++的基础是各种设施它们使用户能够通过定义新的数据类型来扩展语言本身这些新类型可以具有与内置类型一样的灵活性和简单性掌握这些设施的第一步是理解基本语言 本身第3 章到第6 章第二篇在这个层次上介绍了C++语言 第3 章介绍了C++语言预定义的内置和复合数据类型以及C++标准库提供的string complex vector 类数据类型这些类型构成了所有程序的基石第4 章详细讨论了C++语言 支持的表达式比如算术关系赋值表达式语句是C++程序中最小的独立单元它是第 5 章的主题C++标准库提供的容器类型是第6 章的焦点我们不是简单地列出所有可用的 操作而是通过一个文本查询系统的实现来说明这些容器类型的设计和用法 第7 章到第12 章第三篇集中在C++为基于过程化的程序设计所提供的支持上第7 章介绍C++函数机制函数封装了一组操作它们通常形成一项单一的任务如 print() 名 字后面的括号表明它是一个函数关于程序域和变量生命期的概念以及名字空间设施的 讨论是第8 章的主题第9 章扩展了第7 章中引入的关于函数的讨论介绍了函数的重载 函数重载允许多个函数实例它们提供一个公共的操作共享一个公共的名字但是要求 不同的实现代码例如我们可以定义一组print()函数来输出不同类型的数据第10 章介 绍和说明函数模板的用法函数模板为自动生成多个函数实例可能是无限多个提供了一 种规范描述prescription 这些函数实例的类型不同但实现方式保持不变 C++支持异常处理设施异常表示的是一个没有预料到的程序行为比如所有可用的程 序内存耗尽出现异常情况的程序部分会抛出一个异常——即程序的其他部分都可以访问到 程序中的某个函数必须捕获这个异常并做一些必要的动作对于异常处理的讨论跨越了两章 第11 章用一个简单的例子介绍了异常处理的基本语法和用法该例子捕获和抛出一个类类型 class type 的异常因为在我们的程序中实际被处理的异常通常是一个面向对象类层次 结构的类对象所以关于怎样抛出和处理异常的讨论一直继续到第19 章也就是在介绍面 向对象程序设计之后 第12 章介绍标准库提供的泛型算法集合看一看它们怎样和第6 章的容器类型以及内 置数组类型互相作用这一章以一个使用泛型算法的程序设计作为开始第6 章介绍的iterator 迭代器在第12 章将进一步讨论因为它们为泛型算法与实际容器的绑定提供了粘合剂 这一章也介绍并解释了函数对象的概念函数对象使我们能够为泛型算法中用到的操作符比 如等于或小于操作符提供另一种可替换的语义关于泛型算法在附录中有详细说明并带 有用法的示例 第13 章到第16 章第四篇的焦点集中在基于对象的程序设计上——即创建独立的抽 象数据类型的那些类设施的定义和用法通过创建新的类型来描述问题域C++允许程序员 在写应用程序时可以不用关心各种乏味的簿记工作应用程序的基本类型可以只被实现一次 而多次被重用这使程序员能够将注意力集中在问题本身而不是实现细节上这些封装数 据的设施可以极大地简化应用程序的后续维护和改进工作 第13 章集中在一般的类机制上怎样定义一个类信息隐藏的概念即把类的公有 接口同私有实现分离以及怎样定义并封装一个类的对象实例这一章还有关于类域嵌 套类类作为名字空间成员的讨论 第14 章详细讨论C++为类对象的初始化析构以及赋值而提供的特殊支持为了支持 这些特殊的行为需要使用一些特殊的成员函数分别是构造函数析构函数和拷贝赋值操 作符这一章我们还将看一看按成员初始化和拷贝的主题即指一个类对象被初始化为或者赋值为该类的另一个对象以及为了有效地支持按成员初始化和拷贝而提出的命名返回值 named return value 扩展 第15 章将介绍类特有的操作符重载首先给出一般的概念和设计考虑然后介绍一些 特殊的操作符如赋值下标调用以及类特有的new 和delete 操作符这一章还介绍了类 的友元它对一个类具有特殊的访问特权及其必要性然后讨论用户定义的转换包括底 层的概念和用法的扩展实例这一章还详细讨论了函数重载解析的规则并带有代码示例说 明 类模板是第16 章的主题类模板是用来创建类的规范描述其中的类包含一个或多个 参数化的类型或值例如一个vector 类可以对内含的元素类型进行参数化一个buffer 类 可以对内含的元素类型以及缓冲区的大小进行参数化更复杂的用法比如在分布式计算中 IPC 接口寻址接口同步接口等都可以被参数化这一章讨论了怎样定义类模板怎样 创建一个类模板特定类型的实例怎样定义类模板的成员成员函数静态成员和嵌套类型 以及怎样用类模板来组织我们的程序最后以一个扩展的类模板的例子作为结束 面向对象的程序设计和C++的支持机制是第17 18 19 和20 章第五篇的主题第 17 章介绍了C++对于面向对象程序设计主要要素的支持继承和动态绑定在面向对象的程 序设计中用父/子关系也称类型/子类型关系来定义有共同行为的各个类类不用 重新实现共享特性它可以继承了父类的数据和操作子类或者子类型只针对它与父类不同 的地方进行设计例如我们可以定义一个父类Employee 以及两个子类型TemporaryEmpl 和Manager 这些子类型继承了Employee 的全部行为它们只实现自己特有的行为 继承的第二个方面称为多态性是指父类型具有引用由它派生的任何子类型的能 力例如一个Employee 可以指向自己的类型也可以指向TemporaryEmpl 或者Manager 动态绑定是指在运行时刻根据多态对象的实际类型来确定应该执行哪个操作的解析能力 在C++中这是通过虚拟函数机制来处理的 第17 章介绍了面向对象程序设计的基本特性这一章说明了如何设计和实现一个Query 类层次结构用来支持第6 章实现的文本查询系统 第18 章介绍更为复杂的继承层次结构多继承和虚拟继承机制使得这样的层次结构成 为可能这一章利用多继承和虚拟继承把第16 章的模板类例子扩展成一个三层的类模板层 次结构 第19 章介绍RTTI 运行时刻类型识别设施使用RTTI 我们的程序在执行过程中可 以查询一个多态类对象的类型例如我们可以询问一个Employee 对象它是否实际指向 一个Manager 类型另外第19 章回顾了异常处理机制讨论了标准库的异常类层次机构 并说明了如何定义和处理我们自己的异常类层次结构这一章也深入讨论了在继承机制下重 载函数的解析过程 第20 章详细说明了如何使用C++的iostream 输入/输出库它通过例子说明了一般的数 据输入和输出说明了如何定义类特有的输入输出操作符实例如何辨别和设置条件状态 如何对数据进行格式化iostream 库是一个用虚拟继承和多继承实现的类层次结构 本书以一个附录作为结束附录给出了每个泛型算法的简短讨论和程序例子这些算法 按字母排序以便参考 最后我们要说的是无论谁写了一本书他所省略掉的往往与他所讲述的内容一样重要C++语言的某些方面比如构造函数的工作细节在什么条件下编译器会创建内部临 时对象或者对于效率的一般性考虑虽然这些方面对于编写实际的应用程序非常重要但 是不适合于一本入门级的语言书籍在开始写作本书第三版之前Stan Lippman 写的Inside the C++ Object Model 参见本前言最后所附的参考文献中的LIPPMAN96a 包含了许 多这方面的内容当读者希望获得更详细的说明特别是讨论基于对象和面向对象的程序设 计时本书常常会引用该书中的讨论 本书故意省略了C++标准库中的某些部分比如对本地化和算术运算库的支持C++标 准库非常广泛要想介绍它的所有方面则远远超出了本书的范围在后面所附的参考文献 中某些书更详细地讨论了该库见MUSSER96 和STROUSTRUP97 我们相信在 这本书出版之后一定还会有更多的关于C++标准库各个方面的书面世 第三版的变化

2012-07-25

sourceinsight跟踪代码问题

发表于 2014-12-01 最后回复 2017-10-19

高通平台唤醒屏幕时打开背光闪烁一下

发表于 2014-11-27 最后回复 2014-11-27

高通平台唤醒屏幕时打开背光闪烁一下

发表于 2014-11-27 最后回复 2014-11-27

洗牌问题超时了

发表于 2011-09-16 最后回复 2014-11-27

空空如也

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

TA关注的人 TA的粉丝

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