<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[小熊糖否——木子兮的自留地]]></title><description><![CDATA[True mastery of any skill takes a lifetime.]]></description><link>https://blog.youkuaiyun.com/jonathan321</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jonathan321]]></copyright><item><title><![CDATA[如何设计高效的C++类]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/78106101</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/78106101</guid><author>jonathan321</author><pubDate>Tue, 26 Sep 2017 19:48:15 +0800</pubDate><description><![CDATA[一直以来，使用C++面向对象机制，主要是为了其封装和多态特性。往往设计类时，只是为了功能的堆砌，没有考虑的更加深入。之前也阅读过《Effective C++》，只是那时是在学生时代。如今工作了，重新阅读，有不少新的感悟。最关键的是，能从更高的视角去设计程序，之前杂乱无序的点与点，逐渐连接成一条条线。希望后续能够成面、成立体。回到正题：如何设计C++类？]]></description><category></category></item><item><title><![CDATA[C++并发编程2——为共享数据加锁（四）]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/52698335</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/52698335</guid><author>jonathan321</author><pubDate>Thu, 29 Sep 2016 08:37:45 +0800</pubDate><description><![CDATA[本节会阐述保护共享数据的替代方案，很多情况下，使用互斥量并不合适，会带来性能消耗。下文会详细讲解集中通用的场景。]]></description><category></category></item><item><title><![CDATA[C++并发编程2——为共享数据加锁（三）]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/52698307</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/52698307</guid><author>jonathan321</author><pubDate>Thu, 29 Sep 2016 08:33:10 +0800</pubDate><description><![CDATA[死锁的概念略去不说，死锁有可能发生在使用多个互斥量的场景下，也可能存在没有使用互斥量的场景]]></description><category></category></item><item><title><![CDATA[C++并发编程2——为共享数据加锁（二）]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/52698300</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/52698300</guid><author>jonathan321</author><pubDate>Thu, 29 Sep 2016 08:30:31 +0800</pubDate><description><![CDATA[上一节说到，std::mutex并不能完全解决保护数据的问题。存在好几种情况，即使我们已经使用了互斥量，数据还是被破坏了。]]></description><category></category></item><item><title><![CDATA[C++并发编程2——为保护数据加锁（一）]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/52698281</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/52698281</guid><author>jonathan321</author><pubDate>Thu, 29 Sep 2016 08:26:55 +0800</pubDate><description><![CDATA[在应届生面试的时候，很多面试官都会问——“多线程如何共享资源”。在操作系统层面上可以给出若干关键词答案，但是在语言层面，这个问题考虑的就没有那么简单了。]]></description><category></category></item><item><title><![CDATA[C++并发编程1 - 让我们开始管理多线程]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/52679471</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/52679471</guid><author>jonathan321</author><pubDate>Tue, 27 Sep 2016 11:51:52 +0800</pubDate><description><![CDATA[C++11中引入了多线程编程，一般教科书中都没有涉及到这个概念，但是在工作中多线程却又是必不可少的。本文会从最简单的hello world入手，细述如何创建管理线程。]]></description><category></category></item><item><title><![CDATA[C++并发编程0 - 欢迎来到多线程的世界]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/52679448</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/52679448</guid><author>jonathan321</author><pubDate>Tue, 27 Sep 2016 11:48:55 +0800</pubDate><description><![CDATA[博客原文：www.freehacker.com
C++11中引入了多线程编程，一般教科书中都没有涉及到这个概念，但是在工作中多线程却又是必不可少的。本文会展示最基本的Hello World, Concurrency程序。]]></description><category></category></item><item><title><![CDATA[Git自动换行符]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/51988242</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/51988242</guid><author>jonathan321</author><pubDate>Thu, 21 Jul 2016 22:50:09 +0800</pubDate><description><![CDATA[Welcome to my personal blog: 
www.freehacker.cn





不同的操作系统有不同的换行符格式，跨平台协作时需要考虑版本工具（git）对换行符的处理


回车和换行



回车（Carriage Return）和换行（Line Feed）概念：

回车CR：将光标移动到当前行开头；换行LF：将光标“垂直”移动到下一行，并不]]></description><category></category></item><item><title><![CDATA[操作系统引导过程]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/51987680</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/51987680</guid><author>jonathan321</author><pubDate>Thu, 21 Jul 2016 22:33:07 +0800</pubDate><description><![CDATA[所谓操作系统的引导过程是将存放在硬盘上的静态的操作系统装载到内存中，并开始执行操作系统的过程。

Welcome to my personal website: 
www.freehacker.cn


第一阶段：BIOS


1.1 何为BIOS？

BIOS，英文“Basic Input Output System”，中文“基本输入输出系统”。百度百科中的解释如下：
]]></description><category></category></item><item><title><![CDATA[Cmake使用心得]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/51987416</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/51987416</guid><author>jonathan321</author><pubDate>Thu, 21 Jul 2016 22:27:35 +0800</pubDate><description><![CDATA[Welcome to my personal blog: www.freehacker.cn

CMake是一个跨平台的安装(编译)工具，可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性，类似UNIX下的automake。

CMake 使用方法


CMake的所有的语句都写在一个叫:CMa]]></description><category></category></item><item><title><![CDATA[Win32多线程编程学习心得]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/50782832</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/50782832</guid><author>jonathan321</author><pubDate>Wed, 02 Mar 2016 20:26:46 +0800</pubDate><description><![CDATA[博客原文地址：http://jerkwisdom.github.io/study/thread/thread-Summary/
此处博客不再更新。

为什么多线程？

其实不想写这一点，多线程并不一定是最好的，合适才是最好的。
多线程主要的优点是价廉物美，启动快、退出快、与其他线程共享核心对象，很容易实现共产主义的伟大梦想。但是其又有不可预期、测试困难的缺点。
使用好多线程，就是要知]]></description><category></category></item><item><title><![CDATA[Unicode编码和ANSI编码]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/50582745</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/50582745</guid><author>jonathan321</author><pubDate>Mon, 25 Jan 2016 20:06:11 +0800</pubDate><description><![CDATA[之前一直对Unicode、ANSI、ASCII、UTF-8、string、wstring的概念混淆不清，今天特地查询资料整理下。ANSI编码ANSI编码和Unicode编码都是字符代码的一种表现形式。也就是一个字符既可以编码ANSI也可以编码成Unicode，只是表现形式不一样罢了。首先来看下ANSI的全称：American National Standard Institute，美国国家标准协会。]]></description><category></category></item><item><title><![CDATA[用C写一个简单病毒]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/39085269</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/39085269</guid><author>jonathan321</author><pubDate>Fri, 05 Sep 2014 21:13:15 +0800</pubDate><description><![CDATA[[摘要]在分析病毒机理的基础上,用C语言写了一个小病毒作为实例,用TURBOC2.0实现.

 [Abstract] This paper introduce the charateristic of the computer virus,then show a simple example written by TURBOC2.0.

一、什么是病毒    
    恶意软件可能是第一]]></description><category></category></item><item><title><![CDATA[程序健壮性]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/39029901</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/39029901</guid><author>jonathan321</author><pubDate>Wed, 03 Sep 2014 16:57:23 +0800</pubDate><description><![CDATA[//腾讯QQ2008年笔试题中的附加题（30分）
//从程序健壮性进行分析，下面的FillUserInfo函数和main函数分别
//存在什么问题？

#include 
#include 
#include 

#define MAX_NAME_LEN 20

struct USERINFO
{
	int nAge;
	char szName[MAX_NAME_LEN];
};

void Fi]]></description><category></category></item><item><title><![CDATA[Leetcode - Array - Merge Sorted Array]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/38641617</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/38641617</guid><author>jonathan321</author><pubDate>Sun, 17 Aug 2014 19:56:09 +0800</pubDate><description><![CDATA[Given two sorted integer arrays A and B, merge B into A as one sorted array.

Note:

You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements fro]]></description><category></category></item><item><title><![CDATA[华为机试 - 火星计算器]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/38593003</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/38593003</guid><author>jonathan321</author><pubDate>Fri, 15 Aug 2014 22:32:45 +0800</pubDate><description><![CDATA[火星计算器：
   火星人使用运算符：@ # $ &
   优先级为：@ > # > $ > &
   
   X@Y = (X+1)*(Y+2)
   X#Y = (2X+3)*(3Y+4)
   X$Y = (3X+11)*(2Y+7)
   X&Y = (5X+20)*(4Y+1)
   
   X#Y@Z = X#(Y@Z)
   
   编写火星计算器程序，计算火星]]></description><category></category></item><item><title><![CDATA[华为机试 - 一串正整数相加]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/38590435</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/38590435</guid><author>jonathan321</author><pubDate>Fri, 15 Aug 2014 21:08:06 +0800</pubDate><description><![CDATA[输入一串正整数字符，各正整数之间用空格分开，只有数字字符和空格有效，其他字符均为无效；
   输入正整数个数不超过32个(即：正整数个数
   若出现无效字符，输出ERROR；若输入正整数个数超过32个，输出ERROR。
   若有效，则求出总和；
   
   例子：
   输入：12 a34   输出：ERROR
   输入：12 34    输出：46]]></description><category></category></item><item><title><![CDATA[华为机试 - 8bitBCD码输出]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/38589729</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/38589729</guid><author>jonathan321</author><pubDate>Fri, 15 Aug 2014 20:17:50 +0800</pubDate><description><![CDATA[将输入的数字字符串以8bit，BCD编码输出。
   如果输入字符串的位数为奇数，则在最高位补零。
   
   “1234”  
   4bit位表示：  0001 0010 0011 0100 BCD编码为 1 2 3 4
   若以8bit表示：0001 0010 0011 0100 BCD编码为 18 52
   
   “123”
   4bit位表示：       00]]></description><category></category></item><item><title><![CDATA[华为机试 - 9进制和11进制转10进制]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/38589477</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/38589477</guid><author>jonathan321</author><pubDate>Fri, 15 Aug 2014 19:50:13 +0800</pubDate><description><![CDATA[#include 
#include 
using namespace std;

int main()
{
	string str;
	cin>>str;
	string strBegin=str.substr(0,2);
	int result=0;
	if (strBegin=="0V"||strBegin=="0v") //九进制
	{
		bool strZero=true;
		int]]></description><category></category></item><item><title><![CDATA[华为机试 - 链表翻转]]></title><link>https://blog.youkuaiyun.com/jonathan321/article/details/38588595</link><guid>https://blog.youkuaiyun.com/jonathan321/article/details/38588595</guid><author>jonathan321</author><pubDate>Fri, 15 Aug 2014 17:54:13 +0800</pubDate><description><![CDATA[链表翻转。给出一个链表和一个数k，比如链表1→2→3→4→5→6，k=2，则翻转后2→1→4→3→6→5，若k=3,翻转后3→2→1→6→5→4，若k=4，翻转后4→3→2→1→5→6，用程序实现
#include 
#include 
#include 
using namespace std;

struct ListNode
{
	int val;
	ListNode *link;
	Li]]></description><category></category></item></channel></rss>