- 博客(315)
- 资源 (3)
- 收藏
- 关注
转载 C++中引用(reference)的用法详解
C++中引用(reference)的用法详解TOC1.简介2.引用的语法3.引用使用技巧 3.1 引用和多态 3.2 作为参数 3.3 作为返回值 3.4 什么时候使用引用4. 参考资料1.简介 引用是C++引入的新语言特性。从语意上来说,引用就是一个变量的别名,就好象古代人的“字”和“号”,东坡
2013-12-26 18:22:52 22344 1
转载 保护眼睛的Windows、PDF和IE、Firefox、谷歌等浏览器颜色设置
保护眼睛的Windows和IE、Firefox、谷歌等浏览器颜色设置 长时间在电脑前工作,窗口和网页上的白色十分刺眼,眼睛很容易疲劳,也容易引起头痛,其实我们可以通过设置Windows窗口和软件的颜色设置保护自己的眼睛,总结网上的设置,自己觉得下面是最优的颜色设置方案。眼科专家建议保护眼睛的颜色为:色调:85,饱和度:123,亮度:205。这个颜色就是柔和的豆沙绿色,这个颜色看着
2013-12-25 11:07:14 9577 1
转载 QListWidget、QTreeWidget 和 QTableWidget
现在我们从最简单的 QListWidget、QTreeWidget 和 QTableWidget 三个类开始了解最简单的 model/view 的使用。这部分内容的确很难组织。首先,从最标准的 model/view 开始,往往会纠结于复杂的代码;但是,如果从简单的 QListWidget、QTreeWidget 和QTableWidget 开始,由于这三个类都是继承自各自的 view 类,很难
2013-12-24 16:29:37 1489
转载 QT中的model/view
有时,我们的系统需要显示大量数据,比如从数据库中读取数据,以自己的方式显示在自己的应用程序的界面中。早期的 Qt 要实现这个功能,需要定义一个组件,在这个组件中保存一个数据对象,比如一个列表。我们对这个列表进行查找、插入等的操作,或者把修改的地方写回,然后刷新组件进行显示。这个思路很简单,也很清晰,但是对于大型程序,这种设计就显得苍白无力。比如,在一个大型系统中,你的数据可能很大,全部存入一个组件
2013-12-24 16:27:30 1343
转载 C++之容器
什么是容器 首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器。很简单,容器就是保存其它对象的对象,当然这是一个朴素的理解,这种“对象”还包含了一系列处理“其它对象”的方法,因为这些方法在程序的设计上会经常被用到,所以容器也体现了一个好处,就是“容器类是一种对特定代码重用问题的良好的解决方案”
2013-12-24 14:32:17 1120
转载 QTableWidget行选中/删除/添加行
1 均分各列 tableWidget->horizontalHeader()->setStretchLastSection(true); //就是这个地方 tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);2 整行选中:ui.tableWidget->setSelectionBehavio
2013-12-24 10:55:44 51910 2
转载 C++面试中string类的一种正确写法
C++ 的一个常见面试题是让你实现一个 String 类,限于时间,不可能要求具备 std::string 的功能,但至少要求能正确管理资源。具体来说:能像 int 类型那样定义变量,并且支持赋值、复制。能用作函数的参数类型及返回类型。能用作标准库容器的元素类型,即 vector/list/deque 的 value_type。(用作 std::map 的 key_type 是更进一步的要
2013-12-23 19:34:10 879
转载 Linux 命令英文全称 (帮助记忆,让命令变的很简单)
Linux 命令英文全称 (帮助记忆,让命令变的很简单)/bin = BINaries/dev = DEVices/etc = ETCetera/lib = LIBrary/proc = PROCesses/sbin = Superuser BINaries/tmp = TeMPorary/usr = Unix Shared Resources/var
2013-12-21 14:07:24 1236
转载 详细讲解WIN7系统上Virtualbox4.2.8安装RedHat Enterprise Linux 6.4
详细讲解WIN7系统上Virtualbox4.2.8安装RedHat Enterprise Linux 6.4(一) 最近RHEL6.4出来了,从别人的百度网盘转存后用网盘客户端同步了一晚上ISO文件,办公电脑是Win7系统,于是装了Virtualbox4.2.8虚拟机来安装它。主要记录下中间Virtualbox,Redhat的网络和一些服务的配置。一、运行环境1.Host: HP
2013-12-21 14:03:54 3048
转载 C语言实现垃圾收集器
每当我倍感压力以及有很多事情要做的时候,我总是有这样一种反常的反应,那就是希望做一些其他的事情来摆脱这种状况。通常情况下,这些事情都是些我能够编写并实现的独立的小程序。一天早上,我几乎要被一堆事情给整疯了——我得看一本书、处理一些工作上的事情、还要准备一场Strange Loop的演讲,然后这时我突然想到:“我该写一个垃圾收集器了”。是的,我知道那一刻让我看上去有多疯狂。不过我的神经故
2013-12-20 12:33:12 1932
转载 Memory Leak(内存泄漏)分析
最近听了一些关于Memory Leak(内存泄漏)的seminar,感觉有些收获,所以留个记录,并share给朋友。1 什么是Memory Leak。Memory Leak是指由于错误或不完备的代码造成一些声明的对象实例长期占有内存空间,不能回收。Memory Leak会造成系统性能下降,或造成系统错误。2 Memory存储模式我们通常写的C++或Java Code在内存里边的存储
2013-12-18 16:31:17 2045
转载 探究内存泄露
几天前我发现了一个小问题:有一个服务器在跑了一段时间后挂掉了。重启脚本和系统后,这个问题还是会出现。因为问题代码不是关键业务,所以尽管有大量的数据丢失,但是问题并不严重。不过我还是决定作进一步的调查,来探寻一下问题到底出现在哪。首先注意到的是,服务器通过了所有的单元测试和集成环境的完整测试。在测试环境下使用测试数据时运行得非常正常。那么为什么在工作环境中一跑起来就会出现问题呢?很容易就能想到,也许
2013-12-18 16:26:44 779
转载 new 一个对象的时候加括号和不加括号有什么区别
先看以下代码:#include using namespace std;int main(){ int *a=new int[1000]; for(int i=0;i a[i]=i+1; } delete[] a; int *b=new int[1000]; for(int i=0;i
2013-12-18 15:13:26 1647
原创 QThread的currentThreadId()和currentThreadId一样吗--加括号与不加括号的区别
首先,介绍下QThread的currentThreadId()方法:Qt::HANDLE QThread::currentThreadId () [static]Returns the thread handle of the currently executing thread.Warning: The handle returned by this function is us
2013-12-18 14:37:31 6212 2
转载 面试10大算法汇总
英文版的“面试10大算法汇总”日最高访问量已高达4,318次。这说明总结程序员面试算法有实际意义,比读算法书更有效。下面是中文版的10大常见算法汇总+有代表性的题目汇总。这些概念是专门为面试准备的,因为日常编程中我们很少会自己去写一个链表或者做一个图,也不会经常使用没有效率的递归。以下用Java角度解释面试常见的算法和数据结构:字符串,链表,树,图,排序,递归 vs. 迭代,动态规划,位操
2013-12-18 12:31:57 966
转载 QThread使用方法总结
本文讲述的是在Qt中QThread使用方法,QThread似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用 QThread,随便用google一搜,就能搜出大量结果出来。无怪乎Qt的开发人员 Bradley T. Hughes 声嘶力竭地喊you are-doing-it-wrong和众多用户一样,初次看到这个时,感到 B
2013-12-17 19:05:42 4028
原创 在xp/Win7中一块网卡配置多个IP的用处及方法
一般情况下,一块网卡默认绑定一个IP,但这样会给上网带来不便。因为有些人会用同一台笔记本电脑不同的地方上网,在学校的时候, 白天会在教研室上网,晚上会回宿舍上网, 总是需要重新设置IP地址、默认网关、DNS,觉得很麻烦,有时候还记不住配置参数。但是,如果一个网卡绑定多个IP,就不会有这样的问题了,查了下资料,下面是分别在xp和win7中设置的方法: (1)在windows xp中:
2013-12-17 18:35:54 11220
转载 结构(struct)指针详解
这篇文章是九九年写的,这篇文章适合中级程序员。有不明白之处不要紧,多看几遍,然后花些时间上机操作及认真思考每个问题。遇到难题要研究、解决,难题出现于哪里?该用什么方式来解决?为什么要选择这个方式解决?有其它的解决方法吗?这样的解决方案完美吗?其实做个程序员这些基本的思考心得是要掌握的。记住;遇问题不要逃避,要面对现实、勇于挑战,仔细研究难题的所在,这样相信你会成功的! 指针结构与指针的关
2013-12-16 16:14:20 10247
转载 国内编程学习网站
在本文中,我们介绍了来自两岸三地的编程学习网站,通过它们,不仅可以一窥国内App开发的发展现状,而且这些网站各有特点,无论是主打游戏学习还是视频学习,对于想要自学的开发者而言,都是个好去处。说到国内的在线编程学习网站,很多人都是一脸茫然,即使是资深开发者也是如此。在许多人眼中,尽管国内App开发景象一派繁荣,但教育疲软却是不争的事实。在《移动开发者的自学宝典:十大在线编程学习网站》之后,笔
2013-12-14 12:29:32 2239
转载 QT中的多线程程序设计
QT通过三种形式提供了对线程的支持。它们分别是,一、平台无关的线程类,二、线程安全的事件投递,三、跨线程的信号-槽连接。这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势。多线程编程也是一个有用的模式,它用于解决执行较长时间的操作而不至于用户界面失去响应。在Qt的早期版本中,在构建库时有不选择线程支持的选项,从4.0开始,线程总是有效的。线程类Qt 包含下面一些
2013-12-13 16:05:41 1835
转载 多线程编程的几种方法
随着计算机技术的发展,编程模型也越来越复杂多样化。但多线程编程模型是目前计算机系统架构的最终模型。随着CPU主频的不断攀升,X86架构的硬件已经成为瓶,在这种架构的CPU主频最高为4G。事实上目前3.6G主频的CPU已经接近了顶峰。 如果不能从根本上更新当前CPU的架构(在很长一段时间内还不太可能),那么继续提高CPU性能的方法就是超线程CPU模式。那么,作业系统、应用程序要发挥CPU的最大
2013-12-13 15:32:13 1013 1
转载 如何与人交流——程序员,赶紧生个孩子吧!
如何与人交流——程序员,赶紧生个孩子吧!分类: 我的书 2013-05-09 08:34 35421人阅读 评论(5)收藏 举报“每个家庭都应该生一个孩子吗?”我不太愿意这样建议,因为当不当父母完全是个人选择。我始终尽量避免鼓吹为人父母的经验,但我越深入这个角色,我便越是相信:没什么比拥有一个小孩更能折射出成人世界里源源不断的荒唐!成为父母之后,你会意识到的
2013-12-13 13:04:21 990
转载 struct的初始化方法
今天看数据结构时,突然看到一个用构造函数进行初始化的struct结构体,这个比较新鲜,因为以前从来没有看到过,于是想了想struct到底有没有构造函数以及struct如何初始化,上网查了一些资料,供大家参考!结构体实例(包括共用体)和类实例的初始化方法完全相同,二者都可以应用于继承层次中。不同点是结构体(包括共用体)默认成员为public,而类默认成员是private型的。一、若类和结
2013-12-12 17:06:01 6556
原创 如何动态定义一个 对象指针数组
1 我们先看看如何动态定义一个char类型(基本类型int/float/double)的数组 const int n ; char *a = new char[n]; new char[n] 表示在内存中(heap)分配了sizeof(char)*n字节的空间,并且返回一个指向所分配内存首地址的指针; 所以,在这里,定义了
2013-12-12 09:45:09 7379 3
转载 void 和void * 的 用法
1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,因
2013-12-12 08:27:02 4792
转载 C++中各种对象的生命周期
作用域由{}定义,可以用构造函数和析构函数来追踪对象的生命周期,比较简单,不述。全局对象在main开始前被创建,main退出后被销毁。静态对象在第一次进行作用域时被创建,在main退出后被销毁(若程序不进入其作用域,则不会被创建)。局部对象在进入作用域时被创建,在退出作用域时被销毁。new创建的对象会一直存在,即使指向该对象的指针已被销毁,容易造成内存泄漏。
2013-12-10 23:23:56 12176
转载 用QT编程时遇到的错误总结
前段时间终于把设备管理上位机完成的差不多了,用了差不多有半个月的时间了,因为对QT还不是特别的熟悉,所以中间还是摸索QT的过程。这个上位机程序用到了多线程,数据库操作,网络套接字还有一些界面操作。使用的IDE我选用的是QT CREATOR,个人觉得还是很好用的,里面集成了QT DESIGNER,QT HELP,,QT DEBUG(虽然暂时我还没用过调试器,都是使用Qdebug打印信息和QMesse
2013-12-10 16:40:25 7141
转载 编程练习题
每当成为入门CS课程(学生们学习编程语言的课程)的助教时,都困于提出好的练习题。Project Euler和类似的问题通常对初学者来说来难了,尤其是对于那些没有很强数学背景的同学。在这篇文章中,Adrian Neumann 收集了一些从初级到高级逐级困难的练习题,适合刚开始学习编程的初学者。当有新的练习题时,Adrian 会及时添加。除了一些GUI问题外,练习题一般都是算法题,无需学习任何
2013-12-10 13:03:57 943
转载 听声音破解电话号码
2012年9月的时候,一个南京的大学生从电视台播放的一段记者采访360总裁周鸿祎的视频中破解了周鸿祎的手机号码,一时间被网络热炒。后来,又听说某人买车的时候使用电话银行付款,结果被人录下声音,破解了银行卡号和密码,导致存款被盗。最近居委会在小区里散发传单,提醒一种新的诈骗方式:电话听音破密码诈骗。各种网络和媒体对这些事情炒作的很热闹,但是趋于两种极端,要么将其说的出神入化,要么将其贬的一钱不值,唯
2013-12-10 12:49:37 5903
转载 QT中线程及其同步的用法
一个进程可以分成多个线程,每个线程有自己的Register Set和Stack,但共享进程的Heap、Data、Code (见下图)创建线程: 在Qt中要创建线程,第一步是继承QThread类,第二步是实现其中的run()函数,该方法为protected型,由start()函数来调用。下面是例子: view plaincopy to clipboar
2013-12-10 10:18:52 1136
原创 VS2010中Debug模式下报"HEAP CORRUPTION DETECTED"错误
今天写代码时,在Debug模式下运行时突然报了这样的错误:"HEAP CORRUPTION DETECTED",如下图: 在Release模式下运行时报如下的错误:我从表面上看,就知道是heap除了问题,下面是我的代码:------------------------------------------------------------------------------
2013-12-10 09:53:23 4619
转载 QT中线程的介绍及使用
本文档是自己所整理的一份文档,部分是原创,还转贴了网上的一此资料(已经标明了),(难点是多线程的编写),是有源代码的,大家可以作为参考,用到的知识是视频采集,压缩解压(xvid),实时传输(jrtp),基于qt库所写的,由于本人对qt下的多线程还不很了解,只做了单线程的(采集-->压缩-->解压-->发送-->接收--显示),用timer来刷新视频播放窗口,现在正在研究多线程(代码还在整理中),以
2013-12-09 23:39:33 2095
原创 strlen、sizeof,sizeof(*)含义及区别
如:char *str = “ghjuikls”;strlen(str)=4 表示str指针指向的字符串长度,计算长度时遇到'\0’结束,长度不包括'\0’;sizeof(str)=4 表示str指针占多少字节(内存空间)!在32位系统中,指针占4个字节;sizeof(*str)=1 表示str指针指向的类型占多少字节!在这里指向char类型的字符,即char类型占多少字节,实际中c
2013-12-09 22:16:33 1859
转载 磨刀不误砍柴工-----为提升自己找到一个平衡点
作为一名软件开发人员,你该如何磨快你的锯子?“磨锯子”实际上是一个代名词,泛指一切编程以外的活动(不必编写代码),而这些活动(理论上来说)能使你成为一名更出色的程序员。这个词源自于Covey的一本书:《高效能人士的7个习惯》(《The 7 Habits of Highly Effective People》)。译者注:Stephen R.Covey(史蒂芬·柯维
2013-12-09 21:49:03 1124
转载 C++中如何定义动态数组
首先:为什么需要动态定义数组呢? 这是因为,很多情况下,在预编译过程阶段,数组的长度是不能预先知道的,必须在程序运行时动态的给出 但是问题是,c++要求定义数组时,必须明确给定数组的大小,要不然编译通不过 如: int Array[5];正确 int i=5; int Array[i]; 错误 因为在编译阶段,编译器并不知道 i 的值是
2013-12-09 21:27:24 36212 2
转载 动态数组
1.变长一维数组 这里说的变长数组是指在编译时不能确定数组长度,程序在运行时需要动态分配内存空间的数组。实现变长数组最简单的是变长一维数组,你可以这样做: //文件名: array01.cpp #include using namespace std; int main()
2013-12-09 21:22:51 893
转载 线程、事件与QObject
线程、事件与QObject敬告:测试版本本译文接近定稿,但还须一些加工和更好的例子。欢迎任何评阅和贡献。有关本文的讨论参见如下“链接”:http://developer.qt.nokia.com/forums/viewthread/2423/介绍You’re doing it wrong. — Bradley T. Hughes线程是qt c
2013-12-08 16:23:19 1293 1
转载 函数指针和指针函数的详细解析
分清函数指针和指针函数关于指针和数组斩不断理还乱的恩怨还真是说了不少,不过现在应该已经理清了。有了上一讲的基础,本讲的内容相对来说就比较容易理解了。1.指向函数的指针(函数指针)来分析这样一个声明,void (*f) ( );虽然()的优先级高于*,但由于有括号存在,首先执行的是解引用,所以f是一个指针;接下来执行( ),表明f指向一个函数,这个函数不返回任何值。现在得出结论:f是一个
2013-12-05 22:35:55 1342
转载 DDX_TEXT(pDX,IDC_BIO,m_strBio)的含义
DDX_TEXT(pDX,IDC_BIO,m_strBio)的意思就是 :将ID为 IDC_BIO的控件的文字与变量m_strBio进行绑定。调用UpdateData(TRUE)时,将控件的文字赋值给变量调用UpdateData(FALSE)时,将变量的值赋值给控件的文字(具体看SDK)---------------------------------------------
2013-12-05 14:53:35 2908
原创 “QT中QString 转const char*为乱码或为空的问题 ”之解决方案
接着前篇:http://blog.csdn.net/bzhxuexi/article/details/17111903在前篇中遇到了一个问题,当时没解决,今天终于找到了解决方法,我在网上看到了这样的一段解释,源自于QT Center,是这样的:rajeshs ask a question:How can I convert a QString to char* and
2013-12-04 17:26:53 9035 4
基于AT89C2051单片机的电风扇
2010-05-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人