过程记录 4个月前C语言版的七大排序算法实践让我在写C++版时轻车熟路.特别是冒泡,插入,希尔,选择这四种排序不用调试即运行成功.输出的效果与C语言做的版本完全一样,其中令我印象深刻的是,cout对浮点的处理远不如printf简单明了.非常让开发者难受. 写C++版时有所改进. #define sortfunc _selsort 可以用 typedef void (*sort_t)(vector<int>& arr); sort_t sortfunc = _selsort; 两…
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/gmszone/article/details/30045055 最终能够在和自己的电脑上写下这些字了,实习的日子也就算到一段落了.时间过得非常多,也过得非常短.非常丑陋地用着没有UI的Fcitx,只是对于我来说已经足够了.五笔是一个不错的中国产物.拼音仅仅能算是一种泊来品. (转载保留:实习记-<Rethink>序) 告别了用了半年的MacBook Pro,发现原来在Mac OS上仅仅能选择某个…
2017年1月1日 星期日 --出埃及记 Exodus 21:27 And if he knocks out the tooth of a manservant or maidservant, he must let the servant go free to compensate for the tooth. 若打掉了他奴仆或是婢女的一个牙,就要因他的牙放他去得以自由.…
2016年10月16日 星期日 --出埃及记 Exodus 18:27 Then Moses sent his father-in-law on his way, and Jethro returned to his own country.此后,摩西让他的岳父去,他就往本地去了.…
2016年6月30日 星期四 --出埃及记 Exodus 14:27 Moses stretched out his hand over the sea, and at daybreak the sea went back to its place. The Egyptians were fleeing toward it, and the LORD swept them into the sea. 摩西就向海伸杖,到了天一亮,海水仍旧复原.埃及人避水逃跑的时候,耶和华把他们推翻在海中,…
    情景,ubuntu下把NTFS格式的盘中的“实习记”文件夹彻底删除了,追毁莫及,粗心觉不是一件好的事情. linux下回复ntfs盘下的文件不能用ext3grep,而使用debugfs命令实在很原始. 万幸所有记录文件的文件名都是:[实习记]2014-0****.txt 最后使用ntfsundelete + chown + chmod + sed 完美恢复刚才删除是所以TXT文件. 0.sudo umount 该ntfs盘 1.sudo apt-get install ntfs-3g直接…
第一种var d = new Date('Fri Dec 12 2014 08:00:00 GMT+0800'); ) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();第二种 console.log((new Date()).toISOString().slice(0,10)); 第二种 会出现问题…
翻译 一项关于视觉特征检测的最新进展概述(作者已被接受的手稿) 和A survey of recent advances in visual feature detection——2014.08内容相同,文章布局和图表更清晰 手稿更清楚!!! 更正: 表一:…
2014/2/18 更新 hgehelper库:增加hgeSkeleton类,该类用于播放骨骼动画 增加工具骨骼动画编辑器(AnimationEd),该工具用于骨骼动画的编辑 2014/2/27 更新 hge库:使用事件监听类代替函数回调 增加hge对MyGUI的支持…
2014/1/27 更新 hge库: 1.增加回调函数procResizeFunc(),这个函数会在窗口大小改变时调用,不是必要函数 2.修复LOG信息显示为乱码的错误 项目主页:https://code.csdn.net/vvsxr/hge_improve…
介绍 技术原因写这篇文章,有两种: 一个是在大多数在线叙述性说明发现PLT/GOT第二十符号重定向过程定向x86的,例<Redirecting functions in shared ELF libraries>就写得很不错.尽管其过程跟ARM很相似.但由于CPU体系不同,指令实现差异很大: 其二是网上大部分关于ELF文件格式的介绍,都是基于链接视图(Linking View),链接视图是基于节(Section)对ELF进行解析的.然而动态链接库在载入的过程中,linker仅仅关注ELF中的段…
引言 写这篇技术文的原因,主要有两个: 其一是发现网上大部分描写叙述PLT/GOT符号重定向过程的文章都是针对x86的.比方<Redirecting functions in shared ELF libraries>就写得很不错. 尽管其过程跟ARM很相似,但由于CPU体系不同,指令实现差异很大. 其二是网上大部分关于ELF文件格式的介绍.都是基于链接视图(Linking View),链接视图是基于节(Section)对ELF进行解析的. 然而动态链接库在载入的过程中,linker仅仅关注E…
箭头函数(Arrow functions),是ECMAScript2015中新加的特性,它的产生,主要有以下两个原因:一是使得函数表达式(匿名函数)有更简洁的语法,二是它拥有词法作用域的this值,也就是说它跟父作用域共享this,不会新产生自己作用域下的this, arguments, super 和 new.target 等对象. 使用箭头函数特性 在JavaScript代码中,函数无处不在.假设页面上有一个特定的按钮,它的id是‘clickMe’,点击它后,页面弹出“Hello,Arrow…
一. 在学习过程中发现这"指针函数"与"函数指针"容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义: 1.指针函数是指带指针的函数,即本质是一个函数.函数返回类型是某一类型的指针 类型标识符    *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值.函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量. 表示: f…
原文出处:https://www.cnblogs.com/haore147/p/3647262.html 1.函数指针的定义 顾名思义,函数指针就是函数的指针.它是一个指针,指向一个函数.看例子: 1 2 3 A) char * (*fun1)(char * p1,char * p2); B) char * *fun2(char * p1,char * p2); C) char * fun3(char * p1,char * p2); 看看上面三个表达式分别是什么意思? C)这很容易,fun3是…
1.函数指针的定义 顾名思义,函数指针就是函数的指针.它是一个指针,指向一个函数.看例子: 1 2 3 A) char * (*fun1)(char * p1,char * p2); B) char * *fun2(char * p1,char * p2); C) char * fun3(char * p1,char * p2); 看看上面三个表达式分别是什么意思? C)这很容易,fun3是函数名,p1,p2是参数,其类型为char *型,函数的返回值为char *类型.B) 也很简单,与C)表…
1.函数指针声明的格式及简单的使用 (1)格式:(返回值)(*函数指针名)(参数列表)    例如:声明一个无参数无返回值的函数指针(void)(*p)(void). (2)将函数指针指向某个无参数无返回值的函数fun();(注:fun函数我就不在这里声明了)  形如:p = fun;(注意的是:fun后面不用加括号) ,这句话就是表示将函    数指针p指向名为fun的函数. (3)使用函数指针调用fun函数,形如:p();(等价于直接调用fun()). 所以完整的使用应该为三个步骤:1.声明…
1.函数指针的定义 顾名思义,函数指针就是函数的指针.它是一个指针,指向一个函数.看例子: A) char * (*fun1)(char * p1,char * p2); B) char * *fun2(char * p1,char * p2); C) char * fun3(char * p1,char * p2); 看看上面三个表达式分别是什么意思? C)这很容易,fun3是函数名,p1,p2是参数,其类型为char *型,函数的返回值为char *类型.B) 也很简单,与C)表达式相比,唯…
[前言] 由于最近对函数指针的理解比较模糊,所有又重新学习了一把关于函数指针的知识,参考了很多书籍和网上的文章.现在本人进行一下分享和总结.本文的其实只是整理和总结别人现有的文章,作为备用参考文档. [正文] 要理解一个C程序,仅仅理解组成该程序的符号是不够的.程序员还必须理解这些符号是如何组合成声明.表达式.语句和程序的. 我们先来看看下面的一个语句: ( *( void(*)())0)(); 这是当计算机启动时,硬件将调用首地址为0位置的子例程.像这样的表达式恐怕会令每个C/C++程序员的内…
以下内容来源于:http://www.jb51.net/article/54641.htm 最近在看 express,满眼看去,到处是以函数作为参数的回调函数的使用.如果这个概念理解不了,nodejs.express 的代码就会看得一塌糊涂.比如: app.use(function(req, res, next) {    var err = new Error('Not Found');    err.status = 404;    next(err);}); app是对象,use是方法,方…
首先这是js的一种函数调用写法,叫立即执行函数表达式(IIFE,即immediately-invoked function expression).顾名思义IIFE可以让你的函数立即得到执行(废话). 一般来说,IIFE有以下几种用途: 1. 创建只使用一次的函数,并立即执行它. 2. 创建闭包,保存状态,隔离作用域. 3. 作为独立模块存在(例子如jQuery),防止命名冲突,命名空间注入(模块解耦). 1. 创建只使用一次的函数,并立即执行它 创建只使用一次的函数比较好理解,在需要调用函数的…
今天在学习数据结构中遇到一些问题,函数的指针不知道怎么用,给自己科普一哈 1 int LocateElem_Sq(SqList L, LElemType_Sq e, Status(*Compare)(LElemType_Sq, LElemType_Sq)) 2 { 3 int i = 1; //i的初值为第一个元素的位序 4 int * p = L.elem; //p的初值为第一个元素的存储位置 5 while(i<=L.length && !(*Compare)(*p++,e))…
问题: 在刚接触typedef void (*pfun)(void) 这个结构的时候,存在疑惑,为什么typedef后只有一"块"东西,而不是两"块"东西呢?那是谁"替代"了谁啊?我总结了一下,一方面是对typedef的概念不清晰,另一方面受了#define的影响,犯了定向思维的错误. 概念理解: -typedef 只对已有的类型进行别名定义,不产生新的类型: -# define只是在预处理过程对代码进行简单的替换. 清晰了解两个概念后,发现它们…
首先介绍大家比较熟悉的typedef int i;//定义一个整型变量i typedef myInt int: myInt j;//定义一个整型变量j 上面介绍得是我们常用的比较简单的typedef的用法,下面首先介绍一下函数指针. 函数指针的形式: 形式1:返回类型(*函数名)(参数表)  #include <iostream> using namespace std; //定义一个函数指针pFUN,它指向一个返回类型为char,有一个整型的参数的函数 char (*pFun)(int);…
在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String.Array.Number.Object类的对象一样用于内置对象的管理.因为function实际上是一种对象,它可以“存储在变量中,通过参数传递给(别一个)函数(function),在函数内部创建,从函数中返回结果值”. 因为function是内置对象,我们可以将它作为参数传递给另一个函数,延迟到函数中执行,甚至执行后将它返回.这是在JavaScript中使用回调函数的精髓.本篇文章的剩余部…
本文转自:http://www.cnblogs.com/windlaughing/archive/2013/04/10/3012012.html 示例1: void myFun(int x); //声明也可写成:void myFun( int ); int main() { myFun(100);//一般的函数调用 return 0; } void myFun(int x) { printf("myFun: %d\n",x); } 我们一开始只是从功能上或者说从数学意义上理解myFun…
从极大似然估计的角度理解深度学习中loss函数 为了理解这一概念,首先回顾下最大似然估计的概念: 最大似然估计常用于利用已知的样本结果,反推最有可能导致这一结果产生的参数值,往往模型结果已经确定,用于反推模型中的参数.即在参数空间中选择最有可能导致样本结果发生的参数.因为结果已知,则某一参数使得结果产生的概率最大,则该参数为最优参数. 似然函数:\[ l(\theta) = p(x_1,x_2,...,x_N|\theta) = \prod_{i=1}^{N}{p(x_i|\theta)}\]…
函数指针在C++中有着重要的应用,函数的函数名其本质就是代表一个地址,这个地址叫做函数入口,得到这个地址就可以对这个函数进行各种操作. 函数类型基础 函数三要素: 名称.参数.返回值 C语言中的函数有自己特定的类型 C语言中通过typedef为函数类型重命名,类似于定义数组 typedef type name[m];//定义数组类型 typedef type name(parameter list)://定义函数类型 typedef int f(int, int); typedef void p…
本文内容主要转载自以下两位作者的文章,如有侵权请联系我删除: https://feclub.cn/post/content/ec_ecs_hosting http://blog.csdn.net/hi_kevin/article/details/37761919 首先明确几个概念: EC:函数执行环境(或执行上下文),Execution Context ECS:执行环境栈,Execution Context Stack VO:变量对象,Variable Object AO:活动对象,Active…
今天遇到一个C函数指针的小坑,索性记下来. 我在a.c 文件里面,引用b.c 文件的函数声明作为指针引用 比如在a.c生命一个函数指针 typedef void (*free)(void *val) fun b.c中的有一个函数 void char_free(void* val){ if (val) LIST_FREE(val); } 但是当我编译的时候 编译器报错:‘char_free’ undeclared 我就纳闷了,一般情况下,在同一可执行程序的源文件中,只要函数不声明为static,其…