
c++
牛搞
深研C++;
深研架构,设计模式;
深研高性能并发服务器;
展开
-
Amule编译问题
编译aMule-2.3.1源码时竟然遇到了错误:ObservableQueue.h: In instantiation of ‘void CObservableQueue::ObserverRemoved(CObservableQueue::ObserverType*) [with ValueType = CPartFile*; CObservableQueue::ObserverType = C原创 2012-08-26 09:39:14 · 3839 阅读 · 0 评论 -
成为C++高手之第一个程序
选一个利器工欲善其事,必先利其器。选一个好用又流行的的编程工具很重要。软件编程工具现在都叫做IDE—–集成开发环境,能帮我们做很多事。有人愿意手动写makefile来自己管理源文件,很好,但是makefile对新手来说跟天书一样,很容易被打击得没兴趣了。makefile应该学吗?应该!但是,其学习时机应该是在完成一个比较复杂的项目之后,此时对项目的组织,源码管理、依赖关系等有了一定认识,再学make原创 2016-05-04 06:34:32 · 7590 阅读 · 4 评论 -
成为C++高手之指针与数组
定义一个指针变量:int * a=NULL; int 是指针的类型,其实应该说是指针指向的数据的类型。原创 2016-05-15 10:08:57 · 10016 阅读 · 2 评论 -
成为C++高手之函数
什么是函数我们写的是程序,程序里要有计算机能执行的指令,指令也叫代码。 代码放在哪里呢?写程序的时候,代码不能随便放,必放在函数里面。原创 2016-05-05 05:53:44 · 6718 阅读 · 0 评论 -
成为C++高手之轻松理解二进制
计算机中所有的数据都是用0和1表示的,因为计算机根本表示不出除0和1之外的其它值。但实际上我看们看到计算机中不但能表示各种各样的数值,还能表示文本,表示图像、视频、音乐等。而且除了表示数据还能表示指令,不同的指令组织到一起就是一段程序。那么计算机内是如何表示这些不同的数据和指令的呢?原创 2016-05-06 05:41:25 · 7818 阅读 · 0 评论 -
成为C++高手之回调函数
上一节的排序函数只能正向排序,那我们需要反向排序怎么办?可以增加一个参数嘛,传入TRUE,就表示要正向排,传入FALSE,就表示要反向排。要改变排序方向,只需改变两项比较时是用大于号还是小于号即可。但是这里有更高级的玩法原创 2016-05-19 05:03:51 · 13297 阅读 · 3 评论 -
成为C++高手之for循环
上一节的求平均值的函数average()看起来还有问题,如果我的数组中不是10个元素,那这个函数就不能用了。怎么让它更通用呢?原创 2016-05-17 06:02:42 · 12058 阅读 · 5 评论 -
成为C++高手之如何同时返回两个值
可以用结构,也可允用返回参数原创 2016-05-07 10:00:14 · 41047 阅读 · 3 评论 -
成为C++高手之实战项目
在内存中模拟出一副牌,然后模拟洗牌,发牌等动作。原创 2016-05-20 06:22:07 · 37521 阅读 · 18 评论 -
成为C++高手之头文件与条件编译
但现在看起来真不爽,main.c依赖的文件不能在工程中管理,要修改那些文件的话麻烦大了。如何既能分成多个文件又能在工程中看到呢?可以,使用头文件(h文件)原创 2016-06-06 06:17:14 · 8595 阅读 · 0 评论 -
成为C++高手之提高可维护性
当前的Poker工程还能进一步改进:把只与扑克相关的各种声明和定义单独拿出来,放到单独的文件中;把只与玩家相关的东西拿出来,放到单独的文件中,而main函数里只是使用这些定义或声明,于是变成了三个文件:poker.c、player.c,main.c。原创 2016-05-23 06:33:25 · 9531 阅读 · 0 评论 -
成为C++高手之最终版计算器
当前还存在的问题是用户只能算一次。如果有人买一个一次性计算器,那么他肯定是个土豪。我们的计算器不能只给土豪用,所以要改成可以反复使用的。原创 2016-05-14 09:11:41 · 16270 阅读 · 3 评论 -
成为C++高手之如何入门
作为一名讲师,深深的知道编程入门是多么困难。同时,如何向0基础的人解释明白一门技术,绝对是一门更难的技术。什么样的人可以学编程其实只要有初中英语和数字知识的人都可以学编程。可能你听说过数据结构多么枯燥难懂,实际上你如果你的目标不是考证或考研而是真正做编程这一行,你完全可以略过它不学,因为大部分在实际编程工作中用不到,或者说在实际工作中你会慢慢把80%的知识学会,而且是通过很自然的方式学会。当然还有更原创 2016-04-30 11:23:33 · 8193 阅读 · 0 评论 -
QUdpSocket的问题
使用Qt4.6的QUdpSocket类,遇到一个极其坑爹的问题。在Qt sdk文档中,对QUdpSocket的使用有如下描述:The most common way to use this class is to bind to an address and port using bind(), then call writeDatagram() and readDatagram() to tra原创 2012-11-08 10:42:55 · 5755 阅读 · 3 评论 -
Qt属性系统详解
Qt提供了一个绝妙的属性系统。跟那些由编译器提供的属性差不多。然而,作为一个独立于编译器和平台的库,Qt不依赖于非标准的编译特性,比如__property 或[property]。Qt可以在任何平台上的标准编译器下编译。Qt属性系统基于元数据对象系统--就是那个提供了对象内置信号和槽通讯机制的家伙。声明属性需要什么要声明一个属性,需在继承自QObject的类中使用Q_PROPERTY()宏。Q_P翻译 2012-11-26 11:54:33 · 21897 阅读 · 2 评论 -
Qt Tooltip详解
Qt4中的tooltip与win32中的tooltip有很多不一样的地方,下面来总结一下。一是不能直在堆或栈中生成QToolTip对象。因为其构造函数为私有。二是从widget获取的tooltip不是tooltip对象,而是tooltip中的文本。三是tooltip跟本不是一个widget。所以不把它当作widget用。四是tooltip类是一个静态类,所以跟本不必生成tooltip对象就可以使用原创 2012-11-20 16:36:01 · 35741 阅读 · 2 评论 -
Qt 动画详解一
<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } -->概述Qt动画架构中的主要类如下图所示:<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } -->动画框架由基类QAbstractAnimation和它的两个儿子QVariantAnimation翻译 2012-12-12 10:50:36 · 9975 阅读 · 0 评论 -
详解如何将android工具链作为独立编译器使用
现在已经可以把Android NDK提供的工具链以独立编译器的方式使用了!如果你已经有了自己的构建系统,这就很有用了。一个典型的应用场景是调用一个依赖于CC环境变量开源库的'configure'脚本进行跨平台编译。 本文档将解释如何那样做。1 选择你的工具链:首先 ,你需要确定你的独立工具链所面向的目标CPU加构,是ARM-based设备、x86-based设备,还是MIPS-based设备。每个翻译 2013-04-14 06:57:37 · 8068 阅读 · 0 评论 -
VLC 架构初步分析
VLC player的大架构不难理解,难理解的是它的对象meta系统的作用,类的继承机制,类的层次关系,以及消息传递路线。 Meta系统VLC实现了对象的Meta系统,我初步认为其作用为:• 轻松实现属性永久化,与配置文件原生态结合。• 动态属性• 很多流程或者说消息驱动机制由属性的可观查机制实现。类(结构)的继承• 大部分类都是从vlc_object_t继承的。原创 2013-06-19 07:35:52 · 8705 阅读 · 2 评论 -
makefile中使用gcc的问题
如果编译的是cpp文件而不是c文件,那么makefile中要明确指出使用g++,而不是用gcc。否则编译中会出现莫明其妙的错误。原创 2013-11-13 09:11:40 · 2811 阅读 · 0 评论 -
成为C++高手之条件语句
通过例子讲明白条件语句原创 2016-05-10 05:53:50 · 9734 阅读 · 1 评论 -
成为C++高手之if与switch
比较讲解if与switch语句原创 2016-05-11 05:58:38 · 8173 阅读 · 0 评论 -
成为C++高手之宏与枚举
我们的计算器程序,用1234对应加减乘除,对于人阅读很产生一点障碍。隔一个月后再看此代码可能想不起是0123还是1234了,还得去代码中查找,如果能为代表四则运算的四个数取个有意义的别名就好了,一看就知道对应什么原创 2016-05-12 05:37:59 · 11388 阅读 · 1 评论 -
成为C++高手之while循环
我们的计算器还有好多问题,我们一个个解决。本节解决用户输错就退出的问题。我们应该在用户输错时,提示并让其重新输入,如果一直错就一直提示,直到输对。原创 2016-05-13 05:53:52 · 20112 阅读 · 1 评论 -
非常实用全面的 C++框架,库类等资源
转的,找不到出处了http://blog.youkuaiyun.com/EbowTang/article/details/50783811转载 2016-08-18 07:30:18 · 2168 阅读 · 0 评论