<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[NEVER]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jacqueslim</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jacqueslim]]></copyright><item><title><![CDATA[WINDOWS下实现GTK+/GTKMM的编程]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/7362500</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/7362500</guid><author>jacqueslim</author><pubDate>Fri, 16 Mar 2012 20:15:20 +0800</pubDate><description><![CDATA[给一些想在WINDOWS下学习GTK+/GTKMM编程的朋友
 
 
一、下载软件包
1、下载dev C++开发软件（我的版本是4.9.9.2）
2、下载GTK+
3、下载GTKMM（对于C++的朋友）
即是下面的三个文件

 
二、安装(全部默认安装)
1、先装dev c++
2、再装GTK+
3、再装GTKMM
 
三、环境变量设置（右键我的电脑，属性，高级）]]></description><category></category></item><item><title><![CDATA[两台主机通过SSH通信]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/7350108</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/7350108</guid><author>jacqueslim</author><pubDate>Tue, 13 Mar 2012 19:11:11 +0800</pubDate><description><![CDATA[WINDOWS端
一、安装两个工具：
1、FreeSSHd
2、putty
二、FreeSSHd简单配置
1、创建user

 

2、SSH端口设置

默认是22
三、打开Putty

输入目的地IP地址hostname和端口

最后按OPEN
 
 
LINUX端
一、文件更新升级
1、sudo apt-get update
2、sudo apt-g]]></description><category></category></item><item><title><![CDATA[解决虚拟机ubuntu系统安装VM TOOLS问题（其它LINUX系统也差不多）]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/7333006</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/7333006</guid><author>jacqueslim</author><pubDate>Thu, 08 Mar 2012 15:53:23 +0800</pubDate><description><![CDATA[第一步：进入ubuntu系统，点虚拟机的VM菜单下的install VM TOOLS
第二步：复制弹出来的窗口的VM TOOL 压缩包到/tmp（具体命令这里不详写）
第三步：进入复制到的目录，解压VM TOOL压缩包（tar xzvf "压缩包名字"），等待。。。
第四步：运行vmware-config.pl（sudo /usr/bin/vmware-config-tools.pl）,一直]]></description><category></category></item><item><title><![CDATA[为什么计算机和一些电子产品的时间选择在1970.1.1]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6909861</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6909861</guid><author>jacqueslim</author><pubDate>Thu, 27 Oct 2011 11:01:31 +0800</pubDate><description><![CDATA[现在计算机和一些电子设备时间的计算和显示是以距历元（即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000，格里高利历）的偏移量为标准的，如1970-1-10 20：47 偏移量为2724441632毫秒，出现类似字样说明时间被初始化了。

小知识：
格林威治标准时间GMT
许多人都知道两地时间表简称为GMT或UTC，而世界时区表则通称为World Time
，那么]]></description><category></category></item><item><title><![CDATA[qt里产生随机数]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6909836</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6909836</guid><author>jacqueslim</author><pubDate>Thu, 27 Oct 2011 10:54:14 +0800</pubDate><description><![CDATA[先说一下rand()与srand()这两个函数的用法
所谓的“伪随机数”指的并不是假的随机数，这里的“伪”是有规律的意思。其实绝对的随机数只是一种理想状态的随机数，计算机只能生成相对的随机数即伪随机 数。计算机生成的伪随机数既是随机的又是有规律的 —— 一部份遵守一定的规律，一部份则不遵守任何规律。比如“世上没有两片形状完全相同的树叶”，这正点到了事物的特性 —— 规律性；但是每种树的叶子都有近]]></description><category></category></item><item><title><![CDATA[学习笔记：关注C++设计模式之Singleton模式]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6885840</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6885840</guid><author>jacqueslim</author><pubDate>Tue, 18 Oct 2011 20:05:56 +0800</pubDate><description><![CDATA[#ifndef SINGLETON_H
#define SINGLETON_H

class Singleton
{
public:
    static Singleton* Instance();
protected:
    Singleton();
private:]]></description><category></category></item><item><title><![CDATA[学习笔记：关注C++设计模式之AbstractFactory模式]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6885740</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6885740</guid><author>jacqueslim</author><pubDate>Tue, 18 Oct 2011 19:23:58 +0800</pubDate><description><![CDATA[#ifndef ABSTRACTFACTORY_H
#define ABSTRACTFACTORY_H

class AbstractProductA;
class AbstractProductB;

class AbstractFactory
{
public:
    vi]]></description><category></category></item><item><title><![CDATA[学习笔记：关注C++设计模式之Factory模式]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6883051</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6883051</guid><author>jacqueslim</author><pubDate>Tue, 18 Oct 2011 00:38:03 +0800</pubDate><description><![CDATA[#ifndef FACTORY_H
#define FACTORY_H

class Product;

class Factory
{
public:
    virtual ~Factory() = 0;
    virtual Product* CreateProduct(]]></description><category></category></item><item><title><![CDATA[C++抽象基类]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6820178</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6820178</guid><author>jacqueslim</author><pubDate>Sun, 25 Sep 2011 18:54:51 +0800</pubDate><description><![CDATA[先看一篇文章，写得挺好的 
 
为什么C++要定义抽象基类？
C++为什么要定义抽象基类？
      抽象类就是类里定义了纯虚成员函数的类。纯虚函数只提供了接口，并没有具体实现。抽象类不能被实例化，通常是作为基类供子类继承，子类中重写虚函数，实现具体的接口。
为什么要]]></description><category></category></item><item><title><![CDATA[C++里的虚函数表]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6818380</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6818380</guid><author>jacqueslim</author><pubDate>Sat, 24 Sep 2011 23:27:06 +0800</pubDate><description><![CDATA[在网上看到一篇很详细的文章，关于虚函数的，分享给大家 
 
 
C++中的虚函数的作用主要是实现了多态的机制。关于多态，简而言之就是用父类型别的指针指向其子类的实例，然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”，这是一种泛型技术。所谓泛型]]></description><category></category></item><item><title><![CDATA[如何学好C++]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6808852</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6808852</guid><author>jacqueslim</author><pubDate>Sat, 24 Sep 2011 00:45:23 +0800</pubDate><description><![CDATA[导读：作者之前发布了《如何学习C语言》，现介绍如何学习C++的相关建议。
昨天写了一篇如何学好C语言，就有人回复问我如何学好C++，所以，我把我个人的一些学习经验写在这里，希望对大家有用。首先，因为如何学好C语言中谈到了算法和系统，所以这里就只谈C++语言。
C++是最难的语]]></description><category></category></item><item><title><![CDATA[c++ 类中的成员函数在内存空间的分配问题]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6801601</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6801601</guid><author>jacqueslim</author><pubDate>Thu, 22 Sep 2011 19:24:06 +0800</pubDate><description><![CDATA[class A()

       {

             void c();// not a inline function;

            void d(){ print("d() is a inline function.");}]]></description><category></category></item><item><title><![CDATA[C/C++中的静态全局变量，静态局部变量，全局变量，局部变量的区别]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6801614</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6801614</guid><author>jacqueslim</author><pubDate>Thu, 22 Sep 2011 19:16:56 +0800</pubDate><description><![CDATA[static有两种用法：面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数，不涉及类；后者主要说明static在类中的作用。

面向过程设计中的static 
全局变量、局部变量、静态全局变量、静态局部变量的区别 
C++变量根据]]></description><category></category></item><item><title><![CDATA[c/c++的堆与栈 与数据结构的堆和栈的区别]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6800206</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6800206</guid><author>jacqueslim</author><pubDate>Thu, 22 Sep 2011 13:34:18 +0800</pubDate><description><![CDATA[一、预备知识—程序的内存分配 
一个由c/C++编译的程序占用的内存分为以下几个部分 
1、栈区（stack）— 由编译器自动分配释放 ，存放函数的参数值，局部变量的值等。其操作方式类似于数据结构中的栈。 
2、堆区（heap） — 一般由程序员分配释放， 若程序员不释放，]]></description><category></category></item><item><title><![CDATA[QT API的继承类图（看QT API的前提）]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6795548</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6795548</guid><author>jacqueslim</author><pubDate>Tue, 20 Sep 2011 23:22:33 +0800</pubDate><description><![CDATA[QShared
|---QGLayoutIterator
|          |---QLayoutArrayIterator
|          |---QBoxLayoutIterator
|          |---QToolLayoutIterator
|]]></description><category></category></item><item><title><![CDATA[C++将析构函数定义成virtual的真正原因]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6792105</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6792105</guid><author>jacqueslim</author><pubDate>Mon, 19 Sep 2011 23:54:00 +0800</pubDate><description><![CDATA[1. 一般来说，如果一个类要被另外一个类继承，而且用其指针指向其子类对象时，如题目中的A* d = new B();(假定A是基类，B是从A继承而来的派生类)，那么其(A类)析构函数必须是虚的，否则在delete d时，B类的析构函数将不会被调用，因而会产生内存泄漏和异常；]]></description><category></category></item><item><title><![CDATA[对c++的多态性的一个疑问]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6791917</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6791917</guid><author>jacqueslim</author><pubDate>Mon, 19 Sep 2011 22:51:34 +0800</pubDate><description><![CDATA[先看一个超类（Super）一个子类（Sub）的定义
class Super
{
public:
    Super();
    ~Super();
    virtual void someMethod();   
};



class Sub : pu]]></description><category></category></item><item><title><![CDATA[C++ 的using 暴露超类中被隐蔽的方法]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6791424</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6791424</guid><author>jacqueslim</author><pubDate>Mon, 19 Sep 2011 20:24:33 +0800</pubDate><description><![CDATA[先看一个超类（Super）一个子类（Sub）的定义，主要关注someMethod这个方法。
 
class Super
{
public:
    Super();
    ~Super();
    virtual void someMethod();   //这]]></description><category></category></item><item><title><![CDATA[C++ 里virtual对析构函数的影响]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6791080</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6791080</guid><author>jacqueslim</author><pubDate>Mon, 19 Sep 2011 18:09:43 +0800</pubDate><description><![CDATA[首先来说一下，Super是一个超类，Sub是一个子类
 
下面代码的前提是，这两个类都定义了virtual的析构函数
 
    Super* superTest = new Sub();
    delete superTest;

 这时用delete supe]]></description><category></category></item><item><title><![CDATA[C++重载操作符的一个疑问]]></title><link>https://blog.youkuaiyun.com/jacqueslim/article/details/6788399</link><guid>https://blog.youkuaiyun.com/jacqueslim/article/details/6788399</guid><author>jacqueslim</author><pubDate>Mon, 19 Sep 2011 00:14:52 +0800</pubDate><description><![CDATA[C++高级编程一书说，可以如下这样重载操作符，但是我编译的时候出错了。

 
 friend const SpreadsheetCell& operator+(const SpreadsheetCell& rth, const SpreadsheetCell& lth);]]></description><category></category></item></channel></rss>