上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页

2012年6月5日

摘要: (源自:百度百科)extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。一.extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案与分析: 1)、不可以,程序运行时会告诉你非法访问。原因在于,指向类型T的指针并不等价于类型T的数组。extern char *a声明的是一个指针变量而不是字符数组,因此与实际的定义不同,从而造成运行时非法访问。应该将声明改为exter... 阅读全文
posted @ 2012-06-05 09:15 NLP新手 阅读(454) 评论(0) 推荐(0) 编辑

2012年6月4日

摘要: 6月4号,我从http://sourceforge.net/projects/lemur/files/lemur/lemur-toolkit-4.12/下载了两个lemur project 4.12的包,一个是开源代码lemur-4.12.tar.gz,另一个是安装程序lemur-4.12-install.exe。下面我来比较用这两种方式来在VS2008上配置。先解压lemur-4.12.tar.gz到lemur1,然后安装lemur-4.12-install.exe到lemur2,过程中依然是选择FULL模式。首先比较一下lemur1和lemur2。lemur2中包含bin,doc,incl 阅读全文
posted @ 2012-06-04 19:47 NLP新手 阅读(494) 评论(0) 推荐(0) 编辑

2012年6月2日

摘要: (参考:) 在Debug模式下,VC会把未初始化的栈内存全部填成0xcc。会把未初始化的堆内存全部填成0xcd。但是Release模式下不会有这种附加动作,原来那块内存里是什么就是什么。 未初始化的变量会被系统赋初值为0xCC,超过了ASCII码0-127这个范围,因此这个“字符串”被系统当成了宽字符组成的字符串,即两个字节数据组成一个字符,而0xCCCC表示的宽字符正好是乱码中的那个“烫”字。同理,0Xcdcd就是“屯”字。 阅读全文
posted @ 2012-06-02 22:34 NLP新手 阅读(4926) 评论(0) 推荐(0) 编辑

2012年5月31日

摘要: (源自:http://isip.buaa.edu.cn/lichen/?p=376)beta分布用于对二值随机变量建模,比如抛硬币实验。但如果随机变量可以取多个互斥的值呢?比如可能有种选择。对于某个可以取种互斥状态的随机变量我们可以用一个维向量来表示,其中一个元素取1,剩下的位置取0。例如,如果我们有一个变量可以有种状态,一个观察值恰好对应,那么可以表示成 这种向量满足。如果我们记的概率为参数,那么的分布就是:a其中的,而参数满足且,因为它们代表概率。(2.26)的分布可以看成伯努利分布的一个多值泛化。可以看到这个分布式满足概率的归一化的:同时,考虑一个包含个独立观察值的数据集相应的似然函数: 阅读全文
posted @ 2012-05-31 20:19 NLP新手 阅读(226) 评论(0) 推荐(0) 编辑

2012年5月28日

摘要: 题目:Array A has N positive integers,for each A[i] (0<=i<N, indicating the i-th integer in the array A), it fits in a 32-bit signed integer ),find the closest number less than A[i] (if the distance is the same,we prefer the left one).样例输入:332 1 332 3 145 7 3 6样例输出:1 0 11 2 03 5 0 3思路:1.从左往右遍历,维护 阅读全文
posted @ 2012-05-28 09:48 NLP新手 阅读(398) 评论(0) 推荐(0) 编辑

2012年5月25日

摘要: 1 class A 2 { 3 private: 4 int a; 5 int b; 6 int* c; 7 public: 8 A() 9 :a( 0 )10 {11 b=2;12 c=&b;13 }14 A(int n) 15 :a( n )16 {17 b=2;18 c=&b;19 }20 void print()21 {22 cout<<"a="<<a<<endl<<"b... 阅读全文
posted @ 2012-05-25 21:13 NLP新手 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 什么叫深拷贝与浅拷贝(Deep Copy and Shallow Copy)a.浅拷贝(Shallow Copy影子克隆):只复制对象的基本类型,对象类型,仍属于原来的引用。b.深拷贝(Deep Copy 深度克隆):不紧复制对象的基本类,同时也复制原对象中的对象.完全产生新对象。我们知道,在C++中有拷贝构造函数和拷贝赋值函数的概念。浅拷贝就是成员数据之间的一一赋值:把值赋给一一赋给要拷贝的值。但是可能会有这样的情况:对象还包含资源,这里的资源可以指堆资源,或者一个文件。当值拷贝的时候,两个对象就有用共同的资源,同时对资源可以访问,这样就会出问题。深拷贝就是用来解决这样的问题的,它把资源也赋 阅读全文
posted @ 2012-05-25 14:24 NLP新手 阅读(459) 评论(0) 推荐(0) 编辑

2012年5月23日

摘要: (源自:http://www.cppblog.com/deercoder/archive/2011/03/13/141747.html)在上面讲到了关于pack的内存对齐和计算方法,这里继续讲实现内存对齐的另一种方式:__declspec( align(#) )。__declspec( align(#) )和#pragma pack( n )有密切联系。当一个变量或结构体同时受两者影响时,前者的优先级高。成员的地址决定于前者及后者,其要么是前者的倍数,要么是后者的倍数,要么是成员的大小的倍数,取最小。结构体最后的大小于前者有关,其要么是前者的倍数,要么是结构体中最大偏移量的倍数,取最大。要算出 阅读全文
posted @ 2012-05-23 15:13 NLP新手 阅读(1966) 评论(0) 推荐(0) 编辑
摘要: (源自:http://www.cppblog.com/deercoder/archive/2011/03/13/141717.html)现在的一些处理器,需要你的数据的内存地址必须是对齐(align)的,即使不是必须,如果你对齐的话,运行的速度也会得到提升。虽然对齐会产生的额外内存空间,但相对于这个速度的提升来说,是值得的。所谓对齐,就是地址必须能整除一个整数,这个就是对齐参数(alignment value)。合法的取值范围是1、2、4、6、16、……、8192。怎样对齐呢?编译器帮你搞定。怎样设置编译器的对齐方式呢?用#pragma pack( n )和__declspec(align(# 阅读全文
posted @ 2012-05-23 14:55 NLP新手 阅读(664) 评论(0) 推荐(0) 编辑

2012年5月21日

摘要: 1 class A 2 { 3 private: 4 int a, b; 5 public: 6 //A ob1; //这个地方会产生个error:不能使用正在定义的“A”类定义对象 7 A* ob; //相比而言,正在定义的类可以用来声明对象的指针变量, 8 9 A() //默认构造函数10 :a(0),b(0)11 {12 }13 void print()14 {15 cout<<"a="<<a<<endl<<"b="<<b<<endl;16 }17 };1... 阅读全文
posted @ 2012-05-21 23:31 NLP新手 阅读(1668) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页

导航