<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[giraffe_255的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/giraffe_255</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; giraffe_255]]></copyright><item><title><![CDATA[GiraffeGobang（测试）]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/100066866</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/100066866</guid><author>giraffe_255</author><pubDate>Sun, 25 Aug 2019 21:58:49 +0800</pubDate><description><![CDATA[一、 项目启动，了解需求
1.	项目简介：

因为本人从小学会的第一项棋类游戏就是五子棋的简化版本——三子棋，为了锻炼自己也为了自己玩起来方便，所以写了这个简易版本的五子棋。后序可以增加的功能以及提升和改进的方面还有很多。


网络版本五子棋小游戏，是一种两人对弈的纯策略型棋类游戏，通常双方分别使用黑白两色的棋子，下在棋盘直线与横线的交叉点上，先形成5子连线者获胜。此款小游戏容易上手，老少皆宜，而...]]></description><category></category></item><item><title><![CDATA[（STL）Vector---动态增长的数组]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/96183251</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/96183251</guid><author>giraffe_255</author><pubDate>Tue, 16 Jul 2019 21:07:16 +0800</pubDate><description><![CDATA[使用场景：
Vector拥有一段连续的内存空间，支持随机访问，如果需要高效的随机访问，而不在乎插入和删除的效率，使用vector。

array与vector


array：静态空间。一但配置了就不能改变，需要换一块更大或者是更小的存储空间，一切都需要用苦自己操作：首先申请一块新的空间，然后将元素移过去，最后将旧的地址空间释放给系统。


vector：动态空间。随着新元素的加入，它的内部机制会...]]></description><category></category></item><item><title><![CDATA[《JAVA与模式》之桥接模式]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/90203392</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/90203392</guid><author>giraffe_255</author><pubDate>Tue, 14 May 2019 11:49:21 +0800</pubDate><description><![CDATA[在阎宏博士的《JAVA与模式》一书中开头是这样描述桥梁（Bridge）模式的：

桥梁模式是对象的结构模式。又称为柄体(Handle and Body)模式或接口(Interface)模式。桥梁模式的用意是“将抽象化(Abstraction)与实现化(Implementation)脱耦，使得二者可以独立地变化”。


桥梁模式的用意
桥梁模式虽然不是一个使用频率很高的模式，但是熟悉这个模式对于理解...]]></description><category></category></item><item><title><![CDATA[不用加号完成加法运算（2）]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/88430414</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/88430414</guid><author>giraffe_255</author><pubDate>Tue, 12 Mar 2019 22:07:27 +0800</pubDate><description><![CDATA[今天一个小朋友问了我一个很有意思的问题：”不用加号的加法运算“，大抵就是说，”诶～网上有人不用【+】就可以实现加法哟～“
这个问题以前大学的时候玩过，是一个很有意思的问题。
每个人小学的时候，都学过四则运算，但是因为四则运算太简单了，我们谁也没有注意过我们学习的四则运算包括术式的写法有一个前提，就是：在十进制中！

而根据冯诺依曼原理的第一条：数字计算机的数制采用二进制。
在二进制条件下，计算往往...]]></description><category></category></item><item><title><![CDATA[不用加号的加法计算？]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/88430324</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/88430324</guid><author>giraffe_255</author><pubDate>Tue, 12 Mar 2019 22:01:50 +0800</pubDate><description><![CDATA[不用加号求加法运算


计算出不变位
计算出进位(要左移)
求加


int aplusb(int a, int b)
{
	//1、a，b进行异或运算，计算出不变的位
	//2、计算出进位(求与)
	//3、相加即可
	if (b == 0)
		return a;
	int temp1 = a^b;
	int temp2 = (a&amp;amp;b) &amp;lt;&amp;lt; 1;//可能产生进位
 
	r...]]></description><category></category></item><item><title><![CDATA[如何计算结构体大小？]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/88406249</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/88406249</guid><author>giraffe_255</author><pubDate>Mon, 11 Mar 2019 19:44:35 +0800</pubDate><description><![CDATA[结构体是一种复合数据类型，通常编译器会自动的进行其成员变量的对齐，已提高数据存取的效率。在默认情况下，编译器为结构体的成员按照自然对齐（natural alignment）条方式分配存储空间，各个成员按照其声明顺序在存储器中顺序存储。自然对齐是指按照结构体中成员size最大的对齐，在cl编译器下可以使用

#pragma pack(n)
来指定结构体的对齐方式。


默认对齐方式
在默认对齐方式...]]></description><category></category></item><item><title><![CDATA[如何把代码上传到GitHub（码云）？]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/88369124</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/88369124</guid><author>giraffe_255</author><pubDate>Sat, 09 Mar 2019 17:46:16 +0800</pubDate><description><![CDATA[上传代码：
   1. 去github（码云）上根据网站的提示来创建自己的远程Repository（仓库）
   2. git init（建立本地git仓库）------注意：此指令本地源码根目录执行，执行成功后，会在当前目录生成一个隐藏的名字为“.git”的目录。所有对本地仓库的操作信息都在此目录下存储。
   3. git remote add origin https://xxx@xx.gi...]]></description><category></category></item><item><title><![CDATA[如何用代码实现斐波那契数列？]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/88368405</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/88368405</guid><author>giraffe_255</author><pubDate>Sat, 09 Mar 2019 17:26:53 +0800</pubDate><description><![CDATA[在数学上，斐波纳契数列以如下被以递推的方法定义：F(1)=1，F(2)=1, F(n)=F(n-1)+F(n-2)（n&amp;gt;=3，n∈N*）
最快速也是最简单的写法是使用递归，快速实现]]></description><category></category></item><item><title><![CDATA[（算法）数组中连续子数组的最大和]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/88358247</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/88358247</guid><author>giraffe_255</author><pubDate>Fri, 08 Mar 2019 20:48:01 +0800</pubDate><description><![CDATA[版权声明：转载请注明来处	https://blog.youkuaiyun.com/qq_24034545/article/details/82379821
方法一：可以从头到尾遍历，遍历过程中，对以每个元素开头的子数组求连续最大和，最后从各个最大和中找出最大的。
方法二：使用动态规划的方法，先以第一个数为局部最大和整体最大值，之后遍历数组，累加到局部最大值上，若新加上的数比局部最大值还要大，则把这个新数作为局...]]></description><category></category></item><item><title><![CDATA[string 的一些字符串操作函数]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/88357183</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/88357183</guid><author>giraffe_255</author><pubDate>Fri, 08 Mar 2019 19:29:18 +0800</pubDate><description><![CDATA[1.find查找函数
函数原型：
size_t find ( const string&amp;amp;amp; str, size_t pos = 0 ) const; 
size_t find ( const char* s, size_t pos, size_t n ) const; 
size_t find ( const char* s, size_t pos = 0 ) const; 
size_t ...]]></description><category></category></item><item><title><![CDATA[（Linux）基础IO]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/80754696</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/80754696</guid><author>giraffe_255</author><pubDate>Thu, 21 Jun 2018 15:40:04 +0800</pubDate><description><![CDATA[一、文件描述符

1.文件描述符下标 
2.系统调用 
 ① open 
 ② read,write 
 ③ close 
3.重定向 
 ① 文件描述符分配规则 
 ② dup2  
4.缓冲方式 
 ① 行缓冲 \n 
 ② 全缓冲 
 ③ 没缓冲 





二、文件系统

1.文件系统结构 
① 超加块


文件系统元信息


②iNode区


保存文件元信息


③block区


管...]]></description><category></category></item><item><title><![CDATA[（Linux）进程间通信]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/80751198</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/80751198</guid><author>giraffe_255</author><pubDate>Thu, 21 Jun 2018 14:17:11 +0800</pubDate><description><![CDATA[一、背景





二、管道





三、消息队列





四、共享内存





五、信号量

]]></description><category></category></item><item><title><![CDATA[（Linux） 进程控制]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/80526811</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/80526811</guid><author>giraffe_255</author><pubDate>Thu, 21 Jun 2018 09:38:08 +0800</pubDate><description><![CDATA[一、进程创建

1.fork

①什么是fork？


  fork是Linux中非常重要的函数，它是从已经存在的进程（父进程）中创建的一个新的进程（子进程）。


②返回值


  子进程返回0。 
  父进程返回子进程pid。 
  出错返回-1。 
  通过fork返回值，决定执行父进程or子进程代码 if-else。


③关系


  子进程会继承父进程的pcb。 
  子进程会拷贝父进...]]></description><category></category></item><item><title><![CDATA[（C）操作符 小结]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/80088213</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/80088213</guid><author>giraffe_255</author><pubDate>Thu, 26 Apr 2018 02:30:52 +0800</pubDate><description><![CDATA[刚接触C语言操作符时候，感觉挺容易的，越学越感觉难，感觉里面学问挺多的。1.算数操作符：+ - * / %       %     //必须两边同为整数       /     //左右两边有一个为浮点数，则商为浮点数2.移位操作符 //1）左移操作符  &amp;amp;lt;&amp;amp;lt;
         左边抛弃，右边补0；//   000000001
        （左0抛弃）    //  0|000000010]]></description><category></category></item><item><title><![CDATA[（C）指针的理解]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/80088198</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/80088198</guid><author>giraffe_255</author><pubDate>Thu, 26 Apr 2018 02:02:05 +0800</pubDate><description><![CDATA[·指针数组  
          指针数组本质上是数组，是一个存放指针的数组。 
Eg：             int *arr1[10]; //① 
   char *arr2[10];//②
   char **arr3[5];//③
   //① ② ③ 均为指针数组，  
   //①是数组（int*类型）中元素是 （int*类型） ；
   //②是数组（char*类型）中元素是（ch]]></description><category></category></item><item><title><![CDATA[（Linux）基础指令与基本操作]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/79963712</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/79963712</guid><author>giraffe_255</author><pubDate>Mon, 16 Apr 2018 17:34:35 +0800</pubDate><description><![CDATA[因为Linux(CentOS7)的界面并不友好，所以大多数人会选择X-shell终端来通过互联网安全连接到远程主机来进行工作和学习。 
     1.在Linux界面上敲下 指令”ifconfig”用以查看虚拟机的IP地址 
     

2.之后在X-shell界面新建对话，输入刚才查看到的IP地址，或者使用”ssh”指令加IP地址，连接到虚拟机 
     

PS: 
Alt + Enter...]]></description><category></category></item><item><title><![CDATA[（C++）动态内存管理]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/79906050</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/79906050</guid><author>giraffe_255</author><pubDate>Thu, 12 Apr 2018 01:03:05 +0800</pubDate><description><![CDATA[C语言动态内存管理：malloc , calloc , realloc , freemalloc ：只开辟空间 
calloc ：开辟空间+初始化 
realloc :  
             ①当ptr = NULL 时，= malloc 
             ②扩容，堆上内存足够 
             ③重新开辟空间，内存不够时开辟新的内存，且释放旧内存而且，malloc ,]]></description><category></category></item><item><title><![CDATA[（C++）指针和引用]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/79562561</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/79562561</guid><author>giraffe_255</author><pubDate>Thu, 15 Mar 2018 02:14:57 +0800</pubDate><description><![CDATA[一、引用的概念引用：不是定义一个新的变量，而是给一个已经定义的变量重新起一个别名。#include &lt;iostream&gt;
using namespace std;int mian() {
    int a = 10;
    int* p = &amp;a;
    //内存开辟一段空间，名为a，a内内容为10，定义指针p指向a,即指针p内保存a的地址    //引用
    //格式：类型&amp; 引用的变量]]></description><category></category></item><item><title><![CDATA[（C++）零碎知识整理]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/79502758</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/79502758</guid><author>giraffe_255</author><pubDate>Fri, 09 Mar 2018 21:03:24 +0800</pubDate><description><![CDATA[#include &amp;amp;lt;iostream&amp;amp;gt;

//命名空间，（名字隔离，可以嵌套）
using namespace std;

namespace one {
   int a = 10;
   namespace two {
       int a = 20;
       }
}//注：没有分号
namespace three {
    int a = 30;
    }
int ...]]></description><category></category></item><item><title><![CDATA[（C）【项目】注释转换]]></title><link>https://blog.youkuaiyun.com/giraffe_255/article/details/78709812</link><guid>https://blog.youkuaiyun.com/giraffe_255/article/details/78709812</guid><author>giraffe_255</author><pubDate>Mon, 04 Dec 2017 14:57:42 +0800</pubDate><description><![CDATA[项目 ：    【注释转换】项目内容：将C语言注释（/*   */）转换成为CPP注释（//） 
项目难点：在C语言注释换行操作时，要将换行后的内容也用CPP注释“//”标记，以及在C语言注释之后会有同一行的其他内容不需要注释，但在CPP注释中一注释就是一整行，所以需要换行以下是代码区：//comment_convert.h
//头文件
#pragma once#define INPUT &quot;inpu]]></description><category></category></item></channel></rss>