- 博客(13)
- 资源 (37)
- 收藏
- 关注
原创 【Qt】常见问题总结
1、汉字显示乱码问题的简单解决方法QTextCodec::codecForName("GB2312")->toUnicode("显示汉字");在这里得包含头文件 #include2、当在Windows下运行时,程序默认不会有控制台输出。这就意味着,默认情况下,windows程序不会将输出信息写到命令行界面。为了能看到qDebug()的输出信息,你需要在工程文件中增加一行内容: CONFIG += console (注:网上有写 win32:CONFIG += console,暂不
2011-05-31 19:37:00
11390
转载 【转载】虚函数实现机制
<br />一、描述一<br />首先记住:只要在类的声明中出现虚函数(包括其父类中出现过),那么编译器就会为这个类产生一个虚函数表。这个表中的每一项指向一个虚函数, <br />当子类继承父类时,子类和父类各有一张虚函数表,刚一开始,子类的虚函数表与父类的是一样的,当子类重载父类中的某个虚函数时,就将子类自身的这张虚函数表中的这个虚函数指针作了改变,指向子类定义的函数。如果子类新增了某个虚函数,就在子类的虚函数表中增加一项。 <br />现在假设A1和A2都继承A,那么就有三张虚函数表了,在生成类对象时,
2011-05-17 19:29:00
802
原创 逆波兰式
在程序设计中,可能碰到需要对字符串数学表达式求值的问题,常用的方法是解析表达式,生成二叉树,然后进行计算。编译器就是使用这种方法来解析程序中的表达式的。这种方法实现起来有点难度,需要考虑运算符的优先级,括号的配对,堆栈的使用等等。我们正常情况下看到的数学表达式如果用二叉树遍历的话,恰好是中序遍历,故叫做中序表达式。除此之外,还有前序表达式,后序表达式。如:a+b+c(中序),++abc(前序),ab+c+(后序),如果表达式含有×,/,()等就更复杂了。后缀表达式也称逆波兰表达式因其使表达式求值变得轻松,所
2011-04-23 17:58:00
16215
1
转载 调用约定
在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参数,传递参数的工作必须由函数调用者和函数本身来协调。
2011-03-13 09:51:00
644
原创 指针数组、数组指针、常指针、指向常量的指针、指针函数、函数指针等概念的区分
关于指针、数组、常量等相关联的内容,常常有一些拗口又难以区分的概念,比如指针数组、数组指针、二重指针、二维数组、常指针、指向常量的指针、指针函数、函数指针、“函数指针类型”。本文给出了我自己对这些概念的理解,如有谬误之处,还望指正。
2010-08-26 20:28:00
2385
转载 判断单链表是否存在环,判断两个链表是否相交问题详解
有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。问题:1、如何判断一个链表是不是这类链表?2、如果链表为存在环,如果找到环的入口点?
2010-08-22 08:37:00
498
转载 常量折叠
C++编程思想翻译的“常量折叠”,迷惑了很多人,其实就是一种编译优化技术。编译器进行语法分析的时候,将常量表达式计算求值,并用求得的值来替换表达式,放入常量表。可以算作一种编译优化。
2010-08-19 20:28:00
574
转载 内存对齐
关于内存对齐的原因,大部分的参考资料都是如是说的: 1、平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据,否则抛出硬件异常。 2、性能原因:数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;而对齐的内存访问仅需要一次访问。......本文最后讲述了内存对齐背后的故事。
2010-08-18 20:55:00
626
转载 C++中extern “C”含义
extern "C"包含双重含义,其一:被它修饰的目标是“extern”的;其二:被它修饰的目标是“C”的。 1)被extern “C”限定的函数或变量是extern类型的 extern是C/C++语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其他模块中使用。 注意:extern int a; 仅仅是在声明一个变量,并不是定义变量a,并未为a分配内存空间。变量a在所有模块中作为一种全局变量只能被定义一次,否则会出现连接
2010-08-17 07:28:00
536
转载 JDK安装与配置
<br /> “工欲善其事,必先利其器”。进行程序开发,首先要安装开发相关的软件,并且熟悉这些工具软件的基本使用。本章介绍一下两类开发工具的使用,重点是JDK最新版本以及JDK下载、安装和配置。<br /> <br /> 基础开发工具<br /> 基础开发工具是进行程序设计的基础,包含开发中需要的一些基本功能,例如编译、运行等,是其它开发工具的基础。Java语言的基本开发工具是SUN公司免费提供的JDK。<br /> 实际开发中,为了方便和程序开发的效率,一般不直接使
2010-08-15 09:01:00
487
转载 VMware使用技巧
<br /> 虚拟机软件,利用VMware,我们即可轻松实现多系统同时运行。特别对于一些喜欢测试软件、病毒及木马的朋友来说,VMware绝对是一款不可多得的软件。不过虚拟机使用也有小窍门。 <br /> <br /> 一、鼠标在虚拟与现实之间要穿行无阻<br /> 使用虚拟机的朋友都知道,在虚拟系统中和真实的系统之间鼠标是不能同时起作用的,特别是在虚拟系统中使用鼠标想移动到真实的系统中时,必须得按下"Ctrl+Alt"组全键才可以。其实只要安装了"VMtools"即可轻松实现鼠
2010-08-14 22:38:00
598
原创 常成员变量数组初始化的问题
今晚在论坛里看到一篇帖子(http://topic.csdn.net/u/20100808/20/6d0557e2-62ca-4b5c-9f61-153206072de4.html),是关于常成员变量数组初始化的问题,以前碰到过这个问题,在网上搜了一下,只看到两种替代的方案。不知道可否真正实现常成员变量数组初始化,不管怎样,先在这里记一下:问题:如何给类的常成员变量数组初始化?时间:2010-08-08程序举例:class A{public: A(); const int
2010-08-08 22:09:00
2266
Win32API大全+(中文版).chm
2011-06-22
c++实现字符串表达式求值(逆波兰式)
2011-04-23
CompilersPrinciplesTechniques andTools.part3.rar
2011-11-03
CompilersPrinciplesTechniques andTools.part2.rar
2011-11-03
CompilersPrinciplesTechniques andTools.part1.rar
2011-11-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人