<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[microlyc的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/microlyc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; microlyc]]></copyright><item><title><![CDATA[avformat_open_input]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/80789065</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/80789065</guid><author>microlyc</author><pubDate>Sun, 08 Sep 2019 12:11:27 +0800</pubDate><description><![CDATA[/*打开输入流并读取标题。编解码器未打开。
*流必须用avformat_close_input（）关闭。
*
* @param ps指向用户提供的AVFormatContext的指针（由avformat_alloc_context分配）。
*可能是一个指向NULL的指针，在这种情况下，AVFormatContext被该函数分配并写入ps。

*请注意，用户提供的AVFormatConte...]]></description><category></category></item><item><title><![CDATA[蚁群算法：寻食路径选择 （matlab实现）]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78368703</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78368703</guid><author>microlyc</author><pubDate>Fri, 27 Oct 2017 20:08:33 +0800</pubDate><description><![CDATA[转载请注明出处：http://blog.youkuaiyun.com/microlyc





由http://blog.youkuaiyun.com/ibelievefly/article/details/47955473 旅行商问题改写；




function ant()
Q=400;%Q表示信息素增强的系数
%nc_now表示当前的迭代次数
nc_max=9999; %nc_max表示自主设置的最...]]></description><category></category></item><item><title><![CDATA[函数返回局部变量的几种情况]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78339838</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78339838</guid><author>microlyc</author><pubDate>Wed, 25 Oct 2017 12:15:52 +0800</pubDate><description><![CDATA[转载  http://blog.youkuaiyun.com/haiwil/article/details/6691854/

本文主要详细讨论了返回返回局部变量的几种情况，值得大家注意。

 

准确的来说，函数不能通过返回指向栈内存的指针(注意这里指的是栈，返回指向堆内存的指针是可以的)。

    下面以函数返回局部变量的指针举几个典型的例子来说明：

1：

 



]]></description><category></category></item><item><title><![CDATA[C++面试常见题目问与答(汇总一)]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78339047</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78339047</guid><author>microlyc</author><pubDate>Wed, 25 Oct 2017 11:13:36 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/charles_r_chiu/article/details/47858885

1、什么是虚函数？什么是纯虚函数？

答：虚函数声明如下： virtual ReturnType FunctionName(Parameter)；引入虚函数是为了动态绑定。 
纯虚函数声明如下：virtual ReturnType FunctionName()= 0]]></description><category></category></item><item><title><![CDATA[C++中define与const的区别]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78337006</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78337006</guid><author>microlyc</author><pubDate>Wed, 25 Oct 2017 08:59:51 +0800</pubDate><description><![CDATA[区别如下：



用#define MAX 255定义的常量是没有类型的，所给出的是一个立即数，编译器只是把所定义的常量值与所定义的常量的名字联系起来，define所定义的宏变量在预处理的时候进行替换，在程序中使用到该常量的地方都要进行拷贝替换；

用const float MAX = 255; 定义的常量有类型名字，存放在内存的静态区域中，在程序运行过程中const变量只有一个拷贝，]]></description><category></category></item><item><title><![CDATA[浅谈从源代码文件到二进制可执行文件的过程]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78336969</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78336969</guid><author>microlyc</author><pubDate>Wed, 25 Oct 2017 08:55:38 +0800</pubDate><description><![CDATA[=== .c   ===

预处理 -》.c (源文件)

编译 -》.s/asm (汇编程序)

汇编 -》.o/obj 目标程序(二进制文件)

链接 -》.exe可执行程序 (二进制文件)

(1) 为什么要生成汇编，而不是直接从源文件编译成机器指令(二进制代码)？

首先，汇编语言作为机器指令的助记符，调试以及优化起来都会比较方便；

其次，汇编到机器指令的过程]]></description><category></category></item><item><title><![CDATA[头文件中ifndef/define/endif的作用]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78336926</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78336926</guid><author>microlyc</author><pubDate>Wed, 25 Oct 2017 08:50:12 +0800</pubDate><description><![CDATA[例如：要编写头文件test.h

          #ifndef
 _TEST_H

          #define
 _TEST_H//一般是文件名的大写

         ············

          #endif

    

    1.比如你有两个C文件，这两个C文件都include了同一个头文件。而编译时，这两个C文件要一同编译成]]></description><category></category></item><item><title><![CDATA[两数交换三种方法：指针，加减法与位运算]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78333427</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78333427</guid><author>microlyc</author><pubDate>Tue, 24 Oct 2017 19:30:06 +0800</pubDate><description><![CDATA[http://www.nowamagic.net/academy/detail/40110208

void swap(int *x, int *y)
{
    int t;
    t=*x;
    *x=*y;
    *y=t;
}


如果再加个限制，不使用额外的变量，可以这样：
void swap(int *x,int *y)
{
    *x = *x + *y;
   ]]></description><category></category></item><item><title><![CDATA[红黑树]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78331642</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78331642</guid><author>microlyc</author><pubDate>Tue, 24 Oct 2017 16:58:42 +0800</pubDate><description><![CDATA[一步一图一代码，一定要让你真正彻底明白红黑树

 

作者：July   二零一一年一月九日
http://my.youkuaiyun.com/v_JULY_v


-----------------------------

本文参考：
I、  The Art of Computer Programming Volume I
II、 Introduction to Algorithm]]></description><category></category></item><item><title><![CDATA[内联函数和宏定义的区别]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78329690</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78329690</guid><author>microlyc</author><pubDate>Tue, 24 Oct 2017 15:00:31 +0800</pubDate><description><![CDATA[使用宏和内联函数都可以节省在函数调用方面所带来的时间开销。二者都采用了空间换时间的方式，在其调用处进行展开：


(1)  在预编译时期，宏定义在调用处执行字符串的原样替换。

在编译时期，内联函数在调用处展开，同时进行参数类型检查（而
 宏 不检查）。
(2)  内联函数首先是函数，可以像调用普通函数一样调用内联函数。
而宏定义往往需要添加很多括号防止歧义，编写更加复杂。
(3]]></description><category></category></item><item><title><![CDATA[内存泄漏，动态内存无作用域问题，如何避免内存泄漏]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78327697</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78327697</guid><author>microlyc</author><pubDate>Tue, 24 Oct 2017 11:26:53 +0800</pubDate><description><![CDATA[无论是C还是C++程序，运行时候的变量主要有三种分配方式：堆分配、栈分配、全局和静态内存分配。内存泄漏主要是发生在堆内存分配方式中，即“配置了内存后，所有指向该内存的指针都遗失了”，若缺乏语言这样的垃圾回收机制，这样的内存片就无法归还系统。因为内存泄漏属于程序运行中的问题，无法通过编译识别，所以只能在程序运行过程中来判别和诊断。





 百度百科:


内存泄漏（Memory]]></description><category></category></item><item><title><![CDATA[C语言带参数的main()函数]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78262727</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78262727</guid><author>microlyc</author><pubDate>Tue, 17 Oct 2017 17:15:41 +0800</pubDate><description><![CDATA[C语言带参数的main()函数http://www.cnblogs.com/geekham/p/4097182.html





示例代码：


 1 #include
 2 
 3 int main(int argc, char *argv[])
 4 {
 5     int i;
 6     printf("Total %d arguments\n", argc);]]></description><category></category></item><item><title><![CDATA[c语言 continue]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78262116</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78262116</guid><author>microlyc</author><pubDate>Tue, 17 Oct 2017 16:37:42 +0800</pubDate><description><![CDATA[在for循环中用break或continue跳出循环后 还执行增量表达式吗？
break跳出循环，不再执行循环内的任何语句
continue执行下一次循环，执行for里面的增量表达式
continue不会跳过do while的条件判断（http://blog.youkuaiyun.com/you_lan_hai/article/details/50993768）
int i = 0;
do
{
   ]]></description><category></category></item><item><title><![CDATA[C语言的左移和右移]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78261787</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78261787</guid><author>microlyc</author><pubDate>Tue, 17 Oct 2017 16:18:45 +0800</pubDate><description><![CDATA[左移：
当左移的位数不超过该数值类型的最大位数时：逻辑左移（补0，丢弃最高位）
当左移的位数超过该数值类型的最大位数时：编译器会用左移的位数去模类型的最大位数,然后按余数进行移位（只是执行：左移 所得的余数 个位数）


int i = 1, j = 0x80000000; //设int为32位
i = i << 33;   // 33 % 32 = 1   只左移1位,i变成2
j =]]></description><category></category></item><item><title><![CDATA[指针类型：指向3行4列的整形二维数组]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78261193</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78261193</guid><author>microlyc</author><pubDate>Tue, 17 Oct 2017 15:37:52 +0800</pubDate><description><![CDATA[int a[3][4], *p, i;
	p = &a[0][0];
	for (i = 0; i < 12; i++) {
		p[i] =i;
	}
	int (*pnum)[3][4]=&a;//赋a的地址
	printf("%d\n", (*pnum)[1][3]);//要加*，要加括号，]]></description><category></category></item><item><title><![CDATA[函数指针数组]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78260750</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78260750</guid><author>microlyc</author><pubDate>Tue, 17 Oct 2017 15:09:37 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[typedef char (*PTRFUN)(int)]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78246998</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78246998</guid><author>microlyc</author><pubDate>Mon, 16 Oct 2017 10:22:57 +0800</pubDate><description><![CDATA[typedef char (*PTRFUN)(int);   
PTRFUN pFun;   
char glFun(int a){ return;}   
void main()   
{   
    pFun = glFun;   
    (*pFun)(2);   
} 
 typedef的功能是定义新的类型。
第一句就是定义了一种PTRFUN的类型，并定义这种类型为指向某种函数的指]]></description><category></category></item><item><title><![CDATA[快速排序]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78246818</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78246818</guid><author>microlyc</author><pubDate>Mon, 16 Oct 2017 10:09:22 +0800</pubDate><description><![CDATA[#include
#include
using namespace std;
int partition(int A[], int left, int right) {
	int m = left + (right - left) / 2;
	if (A[left] > A[right])
		swap(A[left], A[right]);
	if (A[m] > A[right])
		swa]]></description><category></category></item><item><title><![CDATA[归并排序]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78246607</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78246607</guid><author>microlyc</author><pubDate>Mon, 16 Oct 2017 09:49:41 +0800</pubDate><description><![CDATA[#include
#include
using namespace std;
const int maxn = 110;
int merge(int a[], int left1, int right1, int l2,int r2) {
	int i = left1, j = l2;
	int temp[maxn], index = 0;
	while (i<=right1 && j<=r2)
]]></description><category></category></item><item><title><![CDATA[卓越的教练是如何训练高手的？]]></title><link>https://blog.youkuaiyun.com/microlyc/article/details/78244731</link><guid>https://blog.youkuaiyun.com/microlyc/article/details/78244731</guid><author>microlyc</author><pubDate>Sun, 15 Oct 2017 22:04:30 +0800</pubDate><description><![CDATA[这几年在全国巡回招聘应届毕业生的过程中，经常会遇到这样的现象：有些同学对自己的笔试比较满意，可是最后却得不到面试的机会，心里大为不解，颇有“死不瞑目”的味道。那么问题到底出现在哪里呢？让我们来看一个例子，这是我们招聘过程中一道常见的题目。

   写一个函数，完成内存移动，并为其写一个简单的测试用例来进行测试。

   够简单的吧？有的同学很快就写出了答案，详见程序清单1与程序清单2。
]]></description><category></category></item></channel></rss>