<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lenghuo2002的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lenghuo2002</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lenghuo2002]]></copyright><item><title><![CDATA[[Leetcode] Dynamic Programming]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/116562524</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/116562524</guid><author>lenghuo2002</author><pubDate>Fri, 28 May 2021 05:46:10 +0800</pubDate><description><![CDATA[1. Algorithm Analysis

1.1 Steps

Find the state and choice

for(auto state1: all possible value) {
    for(auto state2: all possible value) {
        for ...
            dp[state1][state2][...] = min/max(choice1, choice2...);
    }
}

Define the dp tab...]]></description><category></category></item><item><title><![CDATA[[LeetCode] Sliding Windows]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/116334246</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/116334246</guid><author>lenghuo2002</author><pubDate>Fri, 28 May 2021 05:45:29 +0800</pubDate><description><![CDATA[1. Algorithmn Analysis

Create a window [left, right)
	Increasing right edge to expand the window and update the matching results
	if window big enough, increasing left edge to shrink the window and update result
	Repeat step 2 and 3, until right edge reac]]></description><category></category></item><item><title><![CDATA[[LeetCode] Binary Tree Traversal]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/112727796</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/112727796</guid><author>lenghuo2002</author><pubDate>Sun, 17 Jan 2021 14:34:43 +0800</pubDate><description><![CDATA[1. Binary Tree Traversal

1.1 Order types

Postorder: left-&gt;right-&gt;root
	Preorder: root-&gt;left-&gt;right
	Inorder:left-&gt;root-&gt;right


1.2 Definition for a binary tree node


Struct TreeNode {
    int val;
    TreeNode *left;
    TreeNode *rig]]></description><category></category></item><item><title><![CDATA[C++ typename 用法]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/44094519</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/44094519</guid><author>lenghuo2002</author><pubDate>Sat, 07 Mar 2015 03:05:42 +0800</pubDate><description><![CDATA[C++ typename 用法

目录



typename的常见用法

对于typename这个关键字，如果你熟悉C++的模板，一定会知道它有这样一种最常见的用法(代码摘自C++ Primer)：



    // implement strcmp-like generic compare function
    // returns 0 if the values are equal,]]></description><category></category></item><item><title><![CDATA[12.2 - Virtual functions]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/9192639</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/9192639</guid><author>lenghuo2002</author><pubDate>Fri, 28 Jun 2013 01:47:35 +0800</pubDate><description><![CDATA[首先看下面的例子

class Base
{
protected:
 
public:
    const char* GetName() { return "Base"; }
};
 
class Derived: public Base
{
public:
    const char* GetName() { return "Derived"; }
};
 
int main()
{]]></description><category></category></item><item><title><![CDATA[14.3 - Template classes]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/9125219</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/9125219</guid><author>lenghuo2002</author><pubDate>Wed, 19 Jun 2013 01:57:45 +0800</pubDate><description><![CDATA[Templates and container classes
首先我们看下面的类

class IntArray
{
private:
    int m_nLength;
    int *m_pnData;
 
public:
    IntArray()
    {
        m_nLength = 0;
        m_pnData = 0;
    }
 
    In]]></description><category></category></item><item><title><![CDATA[14.2 - Function template instances]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/9125065</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/9125065</guid><author>lenghuo2002</author><pubDate>Wed, 19 Jun 2013 01:13:30 +0800</pubDate><description><![CDATA[Function template instances
C++编译器并不直接编译template函数。编译器遇到template函数调用后，会复制一份template函数并把占位符类型替换成真正的数据类型。拥有真正数据类型的函数称为function
 template instance。
template  // this is the template parameter declarat]]></description><category></category></item><item><title><![CDATA[14.1 - Function templates]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/9124839</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/9124839</guid><author>lenghuo2002</author><pubDate>Wed, 19 Jun 2013 00:04:58 +0800</pubDate><description><![CDATA[The need for function templates
首先举例你想写一个返回两个数中的最大值，你可以写成这样

int max(int nX, int nY)
{
    return (nX > nY) ? nX : nY;
}
这个函数对于int型的数据可以很好的工作。可以如果以后要处理double型的数据怎么办呢？简单来说，你可以重载这个函数


double max]]></description><category></category></item><item><title><![CDATA[8.7 - The hidden “this” pointer]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/9116883</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/9116883</guid><author>lenghuo2002</author><pubDate>Tue, 18 Jun 2013 13:51:06 +0800</pubDate><description><![CDATA[首先举个简单的类的例子

class Simple
{
private:
    int m_nID;
 
public:
    Simple(int nID)
    {
        SetID(nID);
    }
 
    void SetID(int nID) { m_nID = nID; }
    int GetID() { return m_nID; }
};
下面是]]></description><category></category></item><item><title><![CDATA[11.5 - Inheritance and access specifiers]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/9116853</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/9116853</guid><author>lenghuo2002</author><pubDate>Tue, 18 Jun 2013 03:34:01 +0800</pubDate><description><![CDATA[1. Protected access specifier限定类成员只能被同一个class或derived class的成员函数访问

class Base
{
public:
    int m_nPublic; // can be accessed by anybody
private:
    int m_nPrivate; // can only be accessed by Base]]></description><category></category></item><item><title><![CDATA[8.3 - Public vs private access specifiers]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/9116827</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/9116827</guid><author>lenghuo2002</author><pubDate>Tue, 18 Jun 2013 01:50:09 +0800</pubDate><description><![CDATA[Class和Struct的主要区别之一就是class可以明确的使用access specifier来限制谁能访问它的成员。C++提供了3种access specifier关键字: public, private 和 protected. protected 将在介绍完inheritance后讨论。
例1：

class Access
{
   int m_nA; // private by]]></description><category></category></item><item><title><![CDATA[source insight 添加文件描述头]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/8913348</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/8913348</guid><author>lenghuo2002</author><pubDate>Sat, 11 May 2013 03:26:29 +0800</pubDate><description><![CDATA[modify the code of utils.em, which is in the base project of source insight.



macro InsertFileHeader()
{
	szMyName = "author name"


	hbuf = GetCurrentBuf()
	szFileName = GetBufName(hbuf)]]></description><category></category></item><item><title><![CDATA[GDB debug function with args]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/6883565</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/6883565</guid><author>lenghuo2002</author><pubDate>Tue, 18 Oct 2011 10:17:53 +0800</pubDate><description><![CDATA[1.   gdb program
      run
      set args  [args1] [args2]
 
2.gdb --args mytest [arg1] [arg2]]]></description><category></category></item><item><title><![CDATA[GDB debug segmentation fault]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/6883551</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/6883551</guid><author>lenghuo2002</author><pubDate>Tue, 18 Oct 2011 10:14:04 +0800</pubDate><description><![CDATA[1) make sure you have compiled the executable WITH debugging symbols. i.e. the "-g" flag. eg
gcc -g -o hello hello.c
Without debugging sym]]></description><category></category></item><item><title><![CDATA[GDB--Text User Interface]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/6561632</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/6561632</guid><author>lenghuo2002</author><pubDate>Wed, 22 Jun 2011 17:20:00 +0800</pubDate><description><![CDATA[这是一个给GDB调试提供一个简单的窗口模式。可以提供源代码窗口，汇编代码窗口，寄存器窗口。不过同时只能显示两个窗口。 a)         `layout src 仅显示源代码窗口。b)         `layout asm 仅显示汇编代码窗口。c)          `layout split 显示源代码和汇编代码窗口。d)         `layout regs]]></description><category></category></item><item><title><![CDATA[批量查找替换字符串]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/6541517</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/6541517</guid><author>lenghuo2002</author><pubDate>Mon, 13 Jun 2011 15:49:00 +0800</pubDate><description><![CDATA[删除所有Makefile中的-Werror选项 find ./ Makefile -exec grep /-Werror {} /; -exec sed -i s//-Werror//g {} /;]]></description><category></category></item><item><title><![CDATA[菊花链]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/6536518</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/6536518</guid><author>lenghuo2002</author><pubDate>Fri, 10 Jun 2011 14:58:00 +0800</pubDate><description><![CDATA[在电子电器工程中菊花链代表一种配线方案，例如设备A和设备B用电缆相连，设备B再用电缆和设备C相连，设备C用电缆和设备D相连，在这种连接方法中不会形成网状的拓扑结构，只有相邻的设备之间才能直接通信，例如在上例中设备A是不能和设备C直接通信的，它们必须通过设备B来中转，这种方法同样不会形成环路。因为最后一个设备不会连向第一个设备。这种连线方法能够用来传输电力，数字信号和模拟信号。]]></description><category></category></item><item><title><![CDATA[vetored irq ]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/6536487</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/6536487</guid><author>lenghuo2002</author><pubDate>Fri, 10 Jun 2011 14:51:00 +0800</pubDate><description><![CDATA[向量中断与非向量中断的区别作者：shi_869160、yanglin1228     推荐向量中断就是不同的中断有不同的入口地址，非向量中断就只有一个入口地址，进去了再判断中断标志来识别具体是哪个中断。向量中断实时性好，非向量中断简单     向量中断控制器VIC具有32个中断请求输入，可将其编程分为3类，FIQ,向量IRQ和非向量IRQ。     FIQ（fast inter]]></description><category></category></item><item><title><![CDATA[Linux的链接脚本分析]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/6534181</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/6534181</guid><author>lenghuo2002</author><pubDate>Thu, 09 Jun 2011 15:25:00 +0800</pubDate><description><![CDATA[init.h 对各种initcall()函数做了详细的定义。这些宏就把对应的初始化函数插入到指定的段中，就像放在链表中一样。等初始化函数运行时会把所有插入在此段中的初始化函数运行一遍。]]></description><category></category></item><item><title><![CDATA[VMware NAT 连接方式给虚拟机设置固定IP]]></title><link>https://blog.youkuaiyun.com/lenghuo2002/article/details/6532671</link><guid>https://blog.youkuaiyun.com/lenghuo2002/article/details/6532671</guid><author>lenghuo2002</author><pubDate>Wed, 08 Jun 2011 21:16:00 +0800</pubDate><description><![CDATA[以VMware 7.1 和 windows 7 为例 1. 开启windows系统的VMware NAT Service服务 2. 虚拟机的上网方式选择为NAT 3. 配置虚拟机网络连接，Edit->Virtual Network Editor      a) 取消DHCP    b) 修改subnet ip段（非必要）：我改为192.168.1.0]]></description><category></category></item></channel></rss>