易截截图软件、单文件、免安装、纯绿色、仅160KB

关于perl中和C中的sort机制 (转载)

关于perl中和C中的sort机制
(转载)
细读C++ primer,终于理解了一直比较疑惑的perl和C的sort函数机制。我到不是疑惑它的用法,而是很疑惑它的形式,为什么要传递一个子程序的匿名引用给它呢,而且形式还很古怪,一定要是$a<$b,$a<=>$b之类的。要求严格且古怪。
今夜突然看到p.384页,看到书上对quicksort排序算法的讲解终于弄明白了为什么要传递一个如此古怪的子程序,并略思考一下,推想出perl对下标排序的原理以及为何书上说下标排序要快(对一个字长的指针进行交换而不是对内存数据进行交换,除非数组的内容是超长字符串之类的。我倒是曾经试过下标排序,确实要比数组直接排序要快不少)。
另外,关于perl的reference这个名字起名感到很奇怪。这个名字在其它语言中都意味着别名,相当于perl的alias机制。和perl中实际的ref应用完全不搭边。
有人把perl的ref机制称为指针,看起来倒是非常的像了,可惜最大的问题是perl的ref根本不支持pointer所必有的自增++之类的操作(它的自增操作居然是输出一个整数?)。
个人隐约觉得,perl的ref机制倒是和STL中的iterator非常神似,自由,受到保护却用起来轻松,强大。在很多方面比iterator更自由,因此也是我喜欢用perl的ref地原因。也许larry真的很受STL的影响?也许perl在某方面走得更远一些了。
其实很希望perl 6能把ref机制更上一步,借鉴iterator的优点(可惜我在perl 6的RFC中没有看到有关的意向)。perl 6说要做一个完全Object-Orient的语言,其实我更希望它能做一个Generic的语言(在某些方面,我觉得perl 5比STL更Generic,要是再借鉴一下templates模式就好了)
胡说了些感想,很多地方原理只是有此推彼,没有看过有关的perl源码,不一定正确。


相关文档:

Python 3 输出重定向使用C/C++

Python 3 输出重定向使用C/C++
By:gddsky
 
目标
希望将Python 3的输出重定向到自定义的输出目标。
 
核心
Python使用sys.stdout、sys.stderr做输出目标,只要我们替换这两个值就可以重定向到我们自定义目标。替换的值的规则在Python的文档中sys (module)的sys.stdout上面说明只要添加一个write函数就可以 ......

C++如何调用delphi制作的dll


一、概述及示例代码
Delphi中包括许多已经封装好的类及控件,其中的非可视化控件库以功能方式划分可处理诸多应用需求。若使用C++实现系统时对某些功能简单调用delphi中现成的库时即可。因此将delphi中的库以DLL形式封装好之后如何将方法导出可供C++调用是本文记录的重点。C++调用的方式有多种,在这里只讨论一种静 ......

ACE+gSOAP实现高性能WebService Server(C/C++)

1、开发环境请参考《搭建ACE-5.7.4+VS2008开发环境》一文
2、gSOAP库,下载地址:http://gsoap2.sourceforge.net/,本文使用的版本是:gsoap_2.7.15,gSOAP的编程可以参考doc目录下的soapdoc2.pdf,官方文档写的非常详细。
让我们开始gSOAP编码旅程:
1、创建gsoap_server.h:
//gsoap ns2 service namespace: http://l ......

《C和指针》笔记1

1.scanf格式符        p9
ld    long
lf    double
2.三字母词        p22
    为了表示一些特殊的字符,在老式的机器键盘中可能没有的字符,特别约定了一种三字母词,三字母词都以??开始,如下:
??( &nb ......

用c编写求信息论中各种熵和信息量的程序

#include<stdio.h>
#include<math.h>
#define u 20
int i,j,n,m;
float Ix[u],I[u][u],H_X,H_Y,H_XY,I_XY,H_XpY,Pypx[u][u],Px[u],H_YpX,Py[u],Pxpy[u][u],Pxy[u][u];
/*定义的Ix[]=I(x[i])自信息;I[][]=I(x[i];y[j])互信息;H_X=H(X)平均自信息;H_XY=H(XY)联合熵;
I_XY=I(X;Y)平均互信息;H_XpY=H(X|Y ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号