<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Kay的记录]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/yunkai666</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yunkai666]]></copyright><item><title><![CDATA[CRT显示器]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/76473618</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/76473618</guid><author>yunkai666</author><pubDate>Mon, 31 Jul 2017 22:49:30 +0800</pubDate><description><![CDATA[CRT显示器简介
  CRT显示器学名为“阴极射线显像管”，是一种使用阴极射线管（Cathode Ray Tube）的显示器。主要有五部分组成：电子枪（Electron Gun）、偏转线圈（Deflection coils）、荫罩(Shadow mask)、高压石墨电极和荧光粉涂层(Phosphor)及玻璃外壳。它是应用最广泛的显示器之一，CRT纯平显示器具有可视角度大、无坏点、色彩还原度高、色度均]]></description><category></category></item><item><title><![CDATA[常去的博客列表]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/76473498</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/76473498</guid><author>yunkai666</author><pubDate>Mon, 31 Jul 2017 22:39:41 +0800</pubDate><description><![CDATA[记录常去的博客列表
http://blog.ibireme.com YYKit 大神
https://onevcat.com/#blog 王巍 猫神
http://blog.devtang.com 唐巧
http://blog.sunnyxx.com sunnyxx 的技术博客
http://www.jianshu.com/u/96a14318a4de iOS程序犭袁
http://kittenya]]></description><category></category></item><item><title><![CDATA[40、不一样的C++系列--函数异常声明]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/76473416</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/76473416</guid><author>yunkai666</author><pubDate>Mon, 31 Jul 2017 22:22:44 +0800</pubDate><description><![CDATA[函数异常声明首先来看一段代码：#include <iostream>
#include <string>using namespace std;int func(int i, int j) throw(int, char)
{
    if( (0 < j) && (j < 10) )
    {
        return (i + j);
    }
    else
    {]]></description><category></category></item><item><title><![CDATA[Latex数学符号表]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/76473000</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/76473000</guid><author>yunkai666</author><pubDate>Mon, 31 Jul 2017 21:44:58 +0800</pubDate><description><![CDATA[Latex数学符号表]]></description><category></category></item><item><title><![CDATA[OpenGL ES 着色器(shader)介绍]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73773923</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73773923</guid><author>yunkai666</author><pubDate>Tue, 27 Jun 2017 11:12:54 +0800</pubDate><description><![CDATA[ShaderShader其实就是一段执行在GPU上的程序，此程序使用OpenGL ES SL语言来编写。它是一个描述顶点或像素特性的简单程序。在opengles中常用的shader有两种：vertex shader和fragment shader。Geometry Shader（几何着色器）是继Vertex Shader和Fragment Shader之后，由Shader Model 4引入的新的着]]></description><category></category></item><item><title><![CDATA[iOS图形编程的三种API]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73757759</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73757759</guid><author>yunkai666</author><pubDate>Tue, 27 Jun 2017 00:11:53 +0800</pubDate><description><![CDATA[这些api包含的绘制操作都在一个图形环境中进行绘制。一个图形环境包含绘制参数和所有的绘制需要的设备特定信息，包括屏幕图形环境、offscreen 位图环境和PDF图形环境，用来在屏幕表面、一个位图或一个pdf文件中进行图形和图像绘制。在屏幕图形环境中进行的绘制限定于在一个UIView类或其子类的实例中绘制，并直接在屏幕显示，在offscreen位图或PDF图形环境中进行的绘制不直接在屏幕上显示。UI]]></description><category></category></item><item><title><![CDATA[Quartz2D和CoreGraphic的关系]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73756989</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73756989</guid><author>yunkai666</author><pubDate>Mon, 26 Jun 2017 23:51:51 +0800</pubDate><description><![CDATA[1.Quartz 2D是什么?
Quartz 2D以PDF的规范为基础的图形库，用来绘制二维文字和图形，允许相同的绘图指令在任何装置上，使用可以得到的最佳分辨率，产生相同的输出.
2.Quartz2D能做什么?
Quartz 2D API可以实现许多功能，如基于路径的绘图、透明度、阴影、颜色管理、反锯齿、PDF文档生成和PDF元数据访问等
3.Quartz2D和CoreGraphic什么关系
Qua]]></description><category></category></item><item><title><![CDATA[QuartzCore框架简介]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73730585</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73730585</guid><author>yunkai666</author><pubDate>Sun, 25 Jun 2017 23:18:08 +0800</pubDate><description><![CDATA[QuartzCore框架iOS设备给用户视觉反馈其实都是通过QuartzCore框架来进行的，说白了，所有用户最终看到的显示界面都是图层合成的结果，而图层即是QuartzCore中的CALayer。通常我们所说的视图即UIView，并不是直接显示在屏幕上，而是在创建视图对象的时候视图对象会自动创建一个层，而视图对象把要显示的东西绘制在层上，待到需要显示时硬件将所有的层拷贝，然后按Z轴的高低合成最终的]]></description><category></category></item><item><title><![CDATA[39、不一样的C++系列--类型识别]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73703286</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73703286</guid><author>yunkai666</author><pubDate>Sun, 25 Jun 2017 11:58:40 +0800</pubDate><description><![CDATA[类型识别
在面向对象中可能出现下面的情况 
基类指针指向子类对象
基类引用成为子类对象的别名
//Base* Base& 静态类型
//Derived 动态类型
Base* p = new Derived();
Base& r = *p;类型区别：
静态类型 
变量（对象）自身的类型
动态类型 
指针（引用）所指向对象的实际类型
void test(Base* b)
{
    //危险的转换方式]]></description><category></category></item><item><title><![CDATA[38、不一样的C++系列--C++的异常处理]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73699619</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73699619</guid><author>yunkai666</author><pubDate>Sun, 25 Jun 2017 10:27:46 +0800</pubDate><description><![CDATA[C++的异常处理异常处理介绍C++内置了异常处理的语法元素 try … catch …
try语句处理正常代码逻辑
catch语句处理异常情况
try语句中的异常由对应的catch语句处理
语法：
try
{
    double r = divide(1, 0);
}
catch(...)
{
    cout << "Divided by zero..." << endl;
}
C++通过thr]]></description><category></category></item><item><title><![CDATA[37、不一样的C++系列--C语言异常处理]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73699222</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73699222</guid><author>yunkai666</author><pubDate>Sun, 25 Jun 2017 08:40:12 +0800</pubDate><description><![CDATA[C语言异常处理异常的概念
异常的说明 
程序在运行过程中可能产生异常
异常（Exception）与Bug的区别 
异常是程序运行时可预料的执行分支
Bug是程序中的错误，是不被预期的运行方式
异常（Exception）和Bug的对比： 
异常 
运行时产生除0的情况
需要打开的外部文件不存在
数组访问时越界
Bug 
使用野指针
堆数组使用结束后未释放
选择排序无法处理长度为0的数组
异常处理C语言]]></description><category></category></item><item><title><![CDATA[36、不一样的C++系列--单例类模板]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73695313</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73695313</guid><author>yunkai666</author><pubDate>Sat, 24 Jun 2017 22:30:26 +0800</pubDate><description><![CDATA[单例类模板对于单例模式，我们都已经很熟悉了，这里我们来亲手制作一个单例类模板：
目标：某些类在整个系统生命期中最多只能有一个对象存在（Single Instance）
要控制类的对象数目，必须对外隐藏构造函数
思路： 
将构造函数的访问属性设置为private
定义instance并初始化为NULL
当需要使用对象时，访问instance的值 
空值：创建对象，并用instance标记
非空值：返回]]></description><category></category></item><item><title><![CDATA[35、不一样的C++系列--智能指针]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73694571</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73694571</guid><author>yunkai666</author><pubDate>Sat, 24 Jun 2017 19:52:53 +0800</pubDate><description><![CDATA[智能指针智能指针是现代C++开发库中最重要的类模板之一，也是C++中自动内存管理的主要手段，能够在很大程度上避开内存相关的问题。STL中的智能指针auto_ptr
生命周期结束时，销毁指向的内存空间
不能指向堆数组，只能指向堆对象（变量）
一片堆空间只属于一个智能指针对象
多个智能指针对象不能指向同一片堆空间
示例：#include <iostream>
#include <string>
#inc]]></description><category></category></item><item><title><![CDATA[34、不一样的C++系列--数组类模板]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73693168</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73693168</guid><author>yunkai666</author><pubDate>Sat, 24 Jun 2017 18:07:57 +0800</pubDate><description><![CDATA[数组类模板首先先了解一个小知识点： 
模板参数可以是数值型参数（非类型参数）,例如这样：template
<typename T, int N>
void func()
{
    //使用模板参数定义局部数组
    T a[N];
}//使用
func<double, 10>();这种数值型模板参数也有很多限制：
变量不能作为模板参数
浮点数不能作为模板参数
类对象不能作为模板参数
……..
本]]></description><category></category></item><item><title><![CDATA[33、不一样的C++系列--类模板与特化]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73658302</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73658302</guid><author>yunkai666</author><pubDate>Sat, 24 Jun 2017 10:25:35 +0800</pubDate><description><![CDATA[类模板类模块的概念和意义在C++中有这样一些类：
主要用于存储和组织数据元素
类中数据组织的方式和数据元素的具体类型无关
如：数组类，链表类，Stack类，Queue类等
C++中将模板的思想应用于类，使得类的实现不关注数据元素的具体类型，而只关注类所需要实现的功能。所以C++中的类模板是这样的：
以相同的方式处理不同类型的数据
在类声明前使用template进行标识
< typename T >用]]></description><category></category></item><item><title><![CDATA[32、不一样的C++系列--函数模板]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73656680</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73656680</guid><author>yunkai666</author><pubDate>Fri, 23 Jun 2017 22:35:45 +0800</pubDate><description><![CDATA[函数模板泛型编程首先考虑一个问题：c++中有几种交换变量的方法？1、宏代码块：#define SWAP(t, a, b)    \
do                       \
{                        \
    t c = a;             \
    a = b;               \
    b = c;               \]]></description><category></category></item><item><title><![CDATA[31、不一样的C++系列--多重继承]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73649196</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73649196</guid><author>yunkai666</author><pubDate>Fri, 23 Jun 2017 16:00:32 +0800</pubDate><description><![CDATA[多重继承
C++支持编写多重继承的代码 
一个子类可以拥有多个父类
子类拥有所有父类的成员变量
子类继承所有父类的成员函数
子类对象可以当作任意父类对象使用
多重继承的语法规则
//多重继承的本质与单继承相同
class Derived : public BaseA,
                public BaseB,
                public BaseC
{]]></description><category></category></item><item><title><![CDATA[30、不一样的C++系列--抽象类和接口]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73558600</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73558600</guid><author>yunkai666</author><pubDate>Thu, 22 Jun 2017 09:57:09 +0800</pubDate><description><![CDATA[抽象类和接口抽象类
面向对象中的抽象类可用于表示现实世界中的抽象概念
是一种智能定义类型，而不能产生对象的类
只能被继承并重写相关函数
直接特征是相关函数没有完整的实现
Shape是现实世界中各种图形的抽象概念
因此： 
程序中必须能够反映抽象的图形
程序中通过抽象类表示图形的概念
抽象类不能创建对象，只能用于继承
纯虚函数
C++语言中没有抽象类的概念
C++中通过纯虚函数实现抽象类
纯虚函数是指]]></description><category></category></item><item><title><![CDATA[29、不一样的C++系列--对象模型分析]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73530608</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73530608</guid><author>yunkai666</author><pubDate>Wed, 21 Jun 2017 11:48:10 +0800</pubDate><description><![CDATA[对象模型分析C++对象模型首先来说一说class的本质：
class是一种特殊的struct 
在内存中class依旧可以看作变量的集合
class与struct遵循相同的内存对齐规则
class中的成员函数与成员变量是分开存放的 
每个对象有独立的成员变量
所有对象共享类中的成员函数
然后再来看一个问题：class A
{
    int i;
    int j;
    char c;]]></description><category></category></item><item><title><![CDATA[28、不一样的C++系列--继承与多态]]></title><link>https://blog.youkuaiyun.com/yunkai666/article/details/73481015</link><guid>https://blog.youkuaiyun.com/yunkai666/article/details/73481015</guid><author>yunkai666</author><pubDate>Tue, 20 Jun 2017 10:27:26 +0800</pubDate><description><![CDATA[继承与多态父子间的同名冲突首先来看一段代码：#include <iostream>
#include <string>using namespace std;class Parent
{
public:
    int mi;
};class Child : public Parent
{
public:
    int mi;
};int main()
{
    Child c;    //这里]]></description><category></category></item></channel></rss>