- 博客(18)
- 资源 (8)
- 收藏
- 关注
转载 C++之this指针与另一种“多态”
一、 引入 定义一个类的对象,首先系统已经给这个对象分配了空间,然后会调用构造函数(说明:假设存在构造函数--2010.9.5修正)。一个类有多个对象,当程序中调用对象的某个函数时,有可能要访问到这个对象的成员变量。而对于同一个类的每一个对象,都是共享同一份类函数。对象有单独的变量,但是没有单独的函数,所以当调用函数时,系统必须让函数知道这是哪个对象的操作,从而确定成员变量是哪个对象的。这种
2013-12-31 11:27:27 629
转载 超强超短的耗资源代码
刚才在逛论坛,看到个BT需求,想把CPU搞成100%,我想这还不简单,随便想个死循环就成了,进去看看。一看之下还学到了点东西,真是。。。。。。,忘了那句话怎么说了,想起来再补上。废话少说还是先看代码吧:(){ :|:& };:别愣,就是上面的,别试,后果自负!!注: { 和:之间的空格不能少,共14个字符怎么样,没看明白吧,解释一下(顺便说明,解释也是转载的
2013-12-31 10:41:51 955
转载 C语言的那些秘密之---函数返回局部变量
一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意
2013-12-31 10:38:45 525
转载 error LNK2019(无法解析的外部符号)
错误 LNK1120 为您提供该链接的无法解析的外部对象数 (number)。导致无法解析的外部对象的条件由错误 LNK2001 描述,此错误出现在该错误信息之前(对每个无法解析的外部对象都出现一次)。 //就是说每出现一次LNK1120都会在之前出现一个LNK2001 所以主要是解决LNK1120关键是要解决链接器工具错误 LNK2001 这分一下的情况(来自VS 20
2013-12-31 10:38:01 1932
转载 String和内存操作
C99有很多和string相关的函数,如strcat,strchr,strcmp,strcpy,strlen,strncat,strncmp,strncpy等。然而使用C++编程时,所有和string相关的操作均可以使用string类的相关接口完成,string提供和原来C接口类似的功能和性能,同时提供更高的安全性。String类有一个特性:a string of length n must
2013-12-31 10:36:20 583
转载 重载new/delete运算符
下面介绍用重载new/delete运算符的方式来实现一个简单的内存泄露检测工具,基本思想是重载全局new/delete运算符,被检测代码调用new和delete运算符时就会调用重载过的operator new和operator delete,在重载的operator new里和operator delete里记录下内存申请和释放信息,从而判断内存使用情况。下面一步步介绍它的实现!1、 全
2013-12-31 10:33:47 502
转载 派生类函数的重实现规则(override-覆盖)
派生类函数的重实现(override-覆盖)规则对于用过C++的人大体都清楚:派生类可以重实现基类中声明为virtual的函数,并且很清楚如果想实现正确的重写,必须满足:派生类重实现的函数的所有属性和基类virtual函数一致,即函数签名,const限制均一样。同时为了更好地传达代码意图,重实现的virtual函数最好添加冗余的virtual关键字。上面这些是重写的基本要求,对于重实现,还
2013-12-31 10:30:23 639
转载 C++编译器的函数编译流程
C++中的类型查找过程相对简单,基本上就是名字查找,这里不再介绍。对于 .cpp 文件中调用的一个函数 ( 成员函数 ), 编译器主要做了下面三件事情 :1 名字查找 . 先在所在编译单元中可见名字实体中进行名字查找 .(1) 类成员函数优先 ( 对象所在的类 ->基类 ). 一经找到就停止查找 .如果没有 ,(2)在相应的名字空间中做进一步的搜索 ;如果还没有 , 会根据
2013-12-31 10:27:57 515
转载 学习批处理的心得
批处理各符号的功能:1.echo有两个状态一个是on 一个是off默认的是on 它的功能是显示当前文件的路径,如果不写on 或者是off的时候,默认情况下是打开的即显当前文件的路径,加上off后,所有路径都不显示,但是echo off这行还能显出来,要让这行也消失的话就在它们前面加一个@即@echo off,另外echo命令的另一种用法,可以直接编辑文本文件,例如:echo n
2013-12-31 10:26:36 647
转载 windows下bat批处理实现守护进程(有日志)
开发部的一个核心程序总是会自己宕机,然后需要手工去起,而这个服务的安全级别又很高,只有我可以操作,搞得我晚上老没法睡,昨晚实在受不了了,想起以前在hp-ux下写的shell守护进程,这回搞个windows下的bat版守护程序吧,当时晚上思路已经很迟钝了,就叫了个兄弟让他写了,上去后运行效果不错,至少昨晚我安心睡了7小时。早上来把程序改完善一些,增加了记录等功能。实现:检查是否有no
2013-12-31 10:24:56 1008 1
转载 Using声明和指令的工作原理
对于C++编译器,那么名字可见是至关重要的,太过的名字可见将导致名字查找效率的降低,而名字太少将导致无法找到所需类型或函数的名字,从而导致编译错误。除了最常用的include可以导入可见名字之外,using关键字也可以导入名字到特定的编译单元中(单个cpp文件)。区别:Using声明: using namespace std;Using指令: using N::Widget;
2013-12-31 10:23:57 690
转载 GetLastError的返回值的含义
GetLastErrorGetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置。函数 并无必要设置上一次错误信息,所以即使一次GetLastError调用返回的是零值,也不能 担保函数已成功执行。只有在函数调用返回一个错误结果时,这个函数指出的错误结果 才是有效的。通常,只有在函数返回一个错误结果,而且已知
2013-12-31 10:05:11 1155
转载 结构体字节对齐
http://hi.baidu.com/skyland_lee/blog/item/45604bca81e1928cc91768d7.html,这篇文章比较专业地分析了字节对齐在VC和GCC的特点,写得非常不错。这两天我在为毕业设计做准备,所以要花点时间研究字节对齐的问题。 文章中有这样一段话:Win32平台下的微软C编译器(cl.exe for 80×86)的对齐策略:1
2013-12-31 10:02:55 802
转载 C++得到当前进程所占用的内存
使用SDK的PSAPI (Process Status Helper)中的BOOL GetProcessMemoryInfo( HANDLE Process, PPROCESS_MEMORY_COUNTERS ppsmemCounters, DWORD cb);typedef struct _PROCESS_MEMORY_COUNTERS { DWORD cb; DWOR
2013-12-31 09:34:41 1954
转载 Python分词模块推荐:结巴中文分词
就是前面说的中文分词,这里需要介绍的是一个分词效果较好,使用起来像但方便的Python模块:结巴。一、结巴中文分词采用的算法基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法二、结巴中文分词支持的分词模式
2013-12-24 17:00:12 3417
转载 如何计算两个文档的相似度(二)
上一节我们介绍了一些背景知识以及gensim , 相信很多同学已经尝试过了。这一节将从gensim最基本的安装讲起,然后举一个非常简单的例子用以说明如何使用gensim,下一节再介绍其在课程图谱上的应用。二、gensim的安装和使用1、安装gensim依赖NumPy和SciPy这两大Python科学计算工具包,一种简单的安装方法是pip install,但是国内因为网络的缘故常常失
2013-12-24 09:59:38 1472
转载 奇异值分解(SVD)详解
SVD分解SVD分解是LSA的数学基础,本文是我的LSA学习笔记的一部分,之所以单独拿出来,是因为SVD可以说是LSA的基础,要理解LSA必须了解SVD,因此将LSA笔记的SVD一节单独作为一篇文章。本节讨论SVD分解相关数学问题,一个分为3个部分,第一部分讨论线性代数中的一些基础知识,第二部分讨论SVD矩阵分解,第三部分讨论低阶近似。本节讨论的矩阵都是实数矩阵。基础知识1. 矩阵的秩
2013-12-23 19:26:44 645
转载 stl之map erase方法的正确使用
STL的map表里有一个erase方法用来从一个map中删除掉指令的节点eg:map mapTest;typedef map::iterator ITER;ITER iter=mapTest.find(key);mapTest.erase(iter);像上面这样只是删除单个节点,map的形为不会出现任务问题,但是当在一个循环里用的时候,往往会被误用,那是因为使用者没有正
2013-12-09 18:52:35 2517
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人