自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(157)
  • 收藏
  • 关注

转载 typedef

<br />1. <br />typedef int myint<br /> <br />2.<br />定义一个函数指针<br />typedef void (CALLBACK* TIMERCALLBACK)(DWORD,void*);<br /> <br />使用:<br />        TIMERCALLBACK funcCallBack;<br />        funcCallBack = TimerTimeOut;<br /><br />        m_TimerQueue.S

2010-12-22 11:57:00 866

转载 STL vector用法介绍

<br />介绍<br />这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使用vector容器,而且应该不会再去使用C类型的动态数组了。<br /> <br />Vector总览<br />vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,

2010-12-20 11:25:00 466

转载 vector的使用

<br />第一部分 使用入门<br /> vector可用于代替C中的数组,或者MFC中的CArray,从许多说明文档或者网上评论,一般一致认为应该多用vector,因为它的效率更高,而且具备很好的异常安全性。而且vector是STL推荐使用的默认容器,除非你知道你有特殊需要,使用vector不能满足你的需求,例如需要容器在head和tail高效的插入和删除,或者在任何位置高效的删除和插入操作,那么你可能使用deque或者list更加合适。 <br />vector是

2010-12-20 11:24:00 403

转载 C++ 标准库 vector list map 基本使用方法 示例程序

<br />在stdafx.h中:<br />#include <iostream> <br />#include <string> <br />#include <vector><br />#include <list><br />#include <map><br />using namespace std;<br />MFC工程中:<br />void CVectorTestDlg::OnButton1()<br />{<br />/*<br />在头文件类中定义<br /

2010-12-20 11:22:00 915

转载 Vector用法

Vector用于存储对象数组常用方法1.push_back   在数组的最后添加一个数据2.pop_back    去掉数组的最后一个数据3.at                得到编号位置的数据4.begin           得到数组头的指针5.end             得到数组的最后一个单元+1的指针6.front        得到数组头的引用7.b

2010-12-20 11:18:00 537

转载 C++string类常用函数

C++string类常用函数<br />string类的构造函数:<br />string(const char *s);    //用c字符串s初始化<br />string(int n,char c);     //用n个字符c初始化<br />此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常<br />string类的字符操作:<br />

2010-12-20 10:57:00 472

转载 C++ String 详解

<br />之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。<br />    好了,进入正题………<br />首先,为了在我们的程序中使用string类型,我们必须包含头文件 <string>。如下:<b

2010-12-20 10:55:00 476

转载 strtoul-atoi-atol-itoa

将字符串转换成无符号长整型数:strtoul  strtoul (将字符串转换成无符号长整型数)  相关函数  atof,atoi,atol,strtod,strtol  表头文件  #include  定义函数  unsigned long int strtoul(const char *nptr,char **endptr,int base);  函数说明  strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数 base范围从2至36

2010-12-20 10:42:00 1227

转载 vector

本词条主要介绍 vectorVector 类在 java 中可以实现自动增长的对象数组; vector在C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。目录    在JAVA中的详细说明    在C++中的详细说明  矢量、媒介、载体。  (1)矢量:具有方向性的量。  (2) 编程语言方面:vector是C++标准模板库中的部分内容,中文偶尔译作“容器”,但并不准确。它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vec

2010-12-16 13:35:00 538

原创 字符串转整型

<br />unsigned long currentMsgId_Int = strtoul(currentMsgId.c_str(), NULL, 0);<br />unsigned long previousMsgId_Int = strtoul(previousMsgId.c_str(), NULL, 0);

2010-12-08 11:37:00 573

原创 Symbian DLL(Dynamic Link Library 动态链接库)

Symbian 系统 支持两种类型的DLL:  (1)静态接口DLL  (2)多态接口DLL(1)静态接口DLL静态接口DLL 在主调程序启动的时候被系统自动载入到手机内存里面(唯一的例外是如果该DLL 是在ROM只读存储器里面,那么可以直接通过它的地址进行调用)。并且如果没有外部程序使用它了,它将被自动的从内存中卸载。静态接口DLL 在系统内提供了一系列唯一的函数(例如,两个具有相同导出函数的DLL 在系统中也不会混淆)静态接口DLL 具有.dll 文件后缀,通

2010-11-23 15:23:00 1672

转载 Symbian使用TTime类获取系统时间并转换为描述符

<br />获取系统时间并转换为描述符<br />TTime currentTime;<br />currentTime.HomeTime();<br /><br />TBuf<100> time;<br /><br />currentTime.FormatL(time,_L("%Y_%M_%D_%H_%T_%S_%C")); //___18_13_37_474750<br />LOG(time);<br />currentTime.FormatL(time,_L("%Y %M %D %

2010-11-19 10:16:00 806

转载 Symbian OS上的Capability介绍

<br />在调试程序是遇到了这样的错误“由于安全问题,无法执行此文件”。由于使用了串口,所以怀疑是没有权限操作系统资源。于是接触到了Capability,它也和开发过程中使用的签名证书相关。<br />本文转至:http://wiki.forum.nokia.com/index.php/Capability%E4%BB%8B%E7%BB%8D <br />能力是访问敏感API权限的令牌。如果需要保护Symbian OS中的特定功能(API),则使用该功能的代码必须具有与之相关的能力。需要访问能力受保护

2010-11-18 11:16:00 489

转载 Symbian 里的 RFileLogger类

RFileLogger类, 这个类是将log输出在一个Log文件中, 并自动附带有一个时间截, 这个类很有用, 可以使用在模拟器上也可以在手机上使用.    使用这上RFileLogger类, 需要包含 flogger.h 头文件, 并连接到 flogger.lib 库. 按网上的说明, 因为这个类呢, 是个可有可无的东西, 很多人自已都可以很快的写出一个函数用来记录Log, 所以在SDK中, 都查不到RFileLogger的使用说明介绍. 我用的是S60 v9.1版本, 好像以前2rd版SDK里有,

2010-11-16 15:44:00 780

转载 qt 事件机制[转]

<br />什么是自发事件?哪些类型的事件可以被propagated 或compressed? posting and sending 事件之间有何不同?什么时候应该调用 accept() 或是ignore() ? 如果这些问题你还不是很了解,那么继续看下去。 <br />事件起源:<br />基于事件如何被产生与分发,可以把事件分为三类:<br />* Spontaneous 事件,由窗口系统产生,它们被放到系统队列中,通过事件循环逐个处理。<br />* Posted 事件,由Qt或是应

2010-10-24 14:25:00 484

转载 Qt 容器类

<br />Sequentail Containers<br />QVector<T> array-like data structure(在尾部插入数据时效率很高,而在中间和头部插入数据时开销很大)。<br />QVector提供了[]运算符<br />QVector可以用<<运算符代替append()函数。<br />QVector中的基本类型及指针被初始化为0。<br />QLinkedList<T><br />QLinkedList不提供[]运算符,所以必须通过迭代器来对其进

2010-10-24 14:21:00 743

转载 C++ 浅拷贝和深拷贝

浅拷贝,也就是按照比特一位一位地进行拷贝,是把一个类完全一样拷贝到另一个类。这时就出现问题了:类内部的指针的值是一样的,也就是说,两个类的实例内部的指针指向了同一块内存。当这两个对象析构的时候,同一块内存就会给析构两次,当然会出现问题。深拷贝,就是在这点上和浅拷贝不同的,也就是说,在拷贝的时候,深拷贝会提供一块新的内存用来保存数据,并使新的对象的指针指向这块内存,这两个对象析构的时候,也就不会把同一块内存析构两次了。

2010-10-24 14:05:00 666

转载 转 - Qt容器类之关联存储容器

Qt容器类之关联存储容器今天我们来说说Qt容器类中的关联存储容器。所谓关联存储容器,就是容器中存储的一般是二元组,而不是单个的对象。二元组一般表述为,也就是“键-值对”。   首先,我们看看数组的概念。数组可以看成是一种形式的键-值对,它的Key只能是int,而值的类型是Object, 也就是任意类型(注意,这里我们只是说数组可以是任意类型,这个Object并不必须是一个对象)。现在我们扩展数组的概念,把Key也做成任意类型的, 而不仅仅是int,这样就是一个关联容器了。如果学过数据结构,典型的关联

2010-10-23 18:07:00 567

原创 Qt4 Gossip: 循序容器(QVector、QLinkedList、QList...) - 转

QVector、QLinkedList與QList是Qt所提供的幾個常用容器類別。QVector將項目(item)儲存在鄰接的記憶體空間之中,提供基於索引(index-based)存取方式的容器類別。QLinkedList以鏈結(Linked)的方式儲存項目,提供基於迭代器(iterator-based)存取方式的容器類別。QList提供基於索引的快速存取容器類別,內部使用指標陣列,可提供快速插入及移除項目。首先來看看QVector的基本使用方式,建立一個可容納兩個元素的QV

2010-10-23 17:30:00 1690

转载 About NONSHARABLE_CLASS

<br /><br />About NONSHARABLE_CLASS: <br />We can find some information from “SymbianOS v9.2 - Symbian OS reference - C++ component reference - Base E32_COMPSUPP -NONSHARABLE_CLASS”<br /><br />Location: gcce.h <br /><br />NONSHARABLE_CLASS<br />N

2010-10-19 17:41:00 827

转载 转 - C++中的explicit关键字

c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class MyClass{public: MyClass( int num );}....MyClass obj = 10; //ok,convert int to MyClass在上面的代码中编

2010-10-18 17:24:00 595

原创 Qt信号与槽补充 - 在基类函数中发射的信号

本文章主要介绍如何连接一个继承自基类的信号, 并且保证只有该子类才会发射这个信号.其中心思想是: 必须把该子类指针转换为基类指针,然后用该指针调用基类中的函数来触发信号, 或者通过信号槽机制直接把基类信号(放在槽位置)与另一个信号相连. 这样之后连接到该子类(其他子类不行)的槽(属于其他类)就可以收到该基类中的信号, 从而触发槽函数.函数代码如下:.h 文件:#ifndef MAINWINDOW_H#define MAINWINDOW_H#include namespace Ui

2010-09-01 16:16:00 6171

转载 C++虚继承的作用

<br />C++虚继承可以防止多重继承产生的二义性问题。<br />        虚继承,就是在被继承的类前面加上virtual关键字,这时被继承的类称为虚基类,如下面代码中的base类。虚继承在多重继承的时可以防止二义性。<br />    class base<br />    class derived1 : virutal public base<br />    class derived2 : virtual public base<br />    class derived3 : pub

2010-08-06 22:36:00 880

转载 C++ 单例模式

<br />C++编程语言是一个应用广泛的计算机应用语言,它功能强大,在一定程度上大大提高了程序开发效率。C++单例模式也称为单件模式、单子模式。使用单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出等。<br />单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做到这一点,但这样的代码显得很不优雅。定义一个单例类,使用类的私有静态指针变量指向类的唯一实例,并用一个公有静态方法获取该实例。如下面

2010-08-06 21:48:00 858

原创 第一个Android工程

<br />创建一个Android工程<br />搭建好开发环境之后,我们来创建一个Hello World工程,体验一下Android的开发。<br />1 选择【File】>【New】>【Project】<br />2 选择【Android】>【Android Project】,点击【Next】<br />3 创建一个新的Android工程<br />       Project name(在计算机中存储工程的目录名):               

2010-08-03 23:30:00 833

转载 构建Android开发环境

在本文写作 时,Android SDK的最新版本是2.1。现在,我们来看一看如何在Windows平台下构建Android 2.1开发环境。先期需要下载的软件包如下:1、JDK 1.6+2、Android SDK 1.63、Android SDK Setup4、Eclipse IDE for Java Developers看到这些,可能心急的朋友会禁不住问:“不是要构建Android 2.1开发环境吗?怎么还要下载Android SDK 1.6而不是2.1呢?”没错,是要讲怎么构建Android 2.1开发

2010-08-03 23:14:00 515

原创 Android电子书

几本适合新手的Android电子书http://down.android123.com/android-book.pdf 英文版 http://attachments.hiapk.com/download/BOOK/Android_1.0_eBook_by_tom_kao_2008_10_15.pdf 繁体中文http://attachments.hiapk.com/download/BOOK/android_help.rar 简体中文的帮助

2010-08-03 16:38:00 589

转载 BREW究竟是什么-BREW本质之我见

<br />为什么要写这篇文章:<br />  接触BREW已经4个多月了,虽然时间不是很长,但是对brew还是有一定的了解,也有一些我自己的见解。我是一个不喜欢单单为了做好工作而只去学习对工作有用的东西,我喜欢刨根问底,喜欢知道一样东西究竟是什么。现在不管是作brew develop的,还是brew oem的,其实存在一个问题,就是不是真正理解brew究竟是个什么东西,当然这并不直接影响他们的工作。但是,我个人认为,如果连brew究竟是什么都不知道,而去porting一些接口,用一些接

2010-07-29 18:32:00 595

原创 移动开发相关概念

BREW是无线二进制运行环境(Binary Runtime Environment for Wireless)的缩写, 是高通公司2001年推出的基于CDMA网络 "无线互联网发射平台" 上增值业务开发运行的基本平台。J2ME是一个开发平台,可以装在任何够配置的手机里运行.Symbian 是一个手机操作系统.

2010-07-29 18:07:00 759

原创 Symbian Listbox with CheckBox(复选框) 构建

<br /> <br />本程序主要实现复选框Listbox. 可以mark 或者 unmark.<br /> <br />.h 文件:<br /><br />#include <coecntrl.h>        <br />#include <akniconutils.h><br />#include <gulicon.h><br />#include <eiklbo.h><br /><br />class MEikCommandObserver;        <br />c

2010-07-29 17:29:00 1656

转载 函数指针中的回调函数(C语言版本)

<br />举个排序的例子<br /><br />#include <stdio.h><br />#include <string.h><br /><br />typedef struct person {<br />int age;<br />char name[20];<br />double height;<br />} person;<br /><br /><br />int sortOnAge(person* a, person* b) // 以年龄排序,用于回调<br />{<br />retu

2010-07-25 11:01:00 958

转载 使用元对象编译器

元对象编译器,朋友中的moc,是处理Qt的C++扩展的程序。 元对象编译器读取一个C++源文件。如果它发现其中的一个或多个类的声明中含有Q_OBJECT宏,它就会给这个使用Q_OBJECT宏的类生成另外一个包含元对象代码的C++源文件。尤其是,元对象代码对信号/槽机制、运行时类型信息和动态属性系统是需要的。 一个被元对象编译器生成的C++源文件必须和这个类的实现一起被编译和连接(或者它被包含到(#include)这个类的源文件中)。 如果你是用qmake来生成你的Makefil

2010-07-23 15:45:00 624

转载 How to hide the highlight of a listbox

<br />It is sometimes useful (not very often, I agree) to hide the highlight of a listbox. And this was actually my case this morning. After a bit of googling, I did not find anything about this particular problem. So I had to dig a bit into the Symb

2010-07-23 10:26:00 478

转载 Symbian Ecom 浅谈

Symbian Ecom框架的核心思想,其实就是C++的虚函数和抽象类,也就是C++的多态。一个Ecom的工程需要3个子工程、需要一个Ecom的接口类(interface工程), 也许还有解析器类及相应资源文件和相应代理和mmp 文件, 如果有解析器,则把解析器做成一个dll、插件类的实现(plugin工程): 可以包括多个抽象接口类的实现, 该”接口实现”类继承自接口类;同解析器一样, 也需要相应资源文件和相应代理和mmp 文件, 这是一个dll.、

2010-07-14 18:04:00 778

转载 可写静态数据(WSD):问题解释和解决方法(转) --- TLS

<br />程序和线程的占用的内存, 在symbian里,一个程序占用的地址空间包括:<br /><br />  System-wide  被ROM和RAM导入的DLL占用内存<br />  Process-wide 代码和数据块的占用的内存<br />  Thread-wide stack和 heap (不总是)占用的内存<br /><br />在一个线程被创建的时候,默认情况下每个线程将会有自己的8KB的stack。我们可以在创建线程的修改stack大小来改变这个。我们也可以在M

2010-07-13 16:28:00 1084

转载 VC 和 C++ 有什么区别和联系?

<br />初学者经常提出这样的问题:是学c++好还是学 Visual c++好?<br /><br />其实,这是个很奇怪的问法,就好像在问:是学开车好还是学开福特车好?开车是一种普遍的技术,用这个技术可以控制福特车或奥迪车,这在技术上没有很大的差别,最多只是一些开关的位置不同而已。同样的道理,c++是一种程序语言,现在已经成为ISO标准,是一种普遍的技术。Visual c++只是一种协助用户使用c++语言设计软件的工具。<br /><br />类似的工具还有很多,例如Borland c++ Bu

2010-07-01 14:44:00 5948

转载 WIFI

<br />目录<br />·WIFI相关简述<br />·WIFI突出优势<br />·WIFI组建方法<br />·WIFI未来发展<br />·高速有线接入技术的补充<br />·蜂窝移动通信的补充<br />·WIFI技术简述<br /> <br />WIFI相关简述<br />全称Wireless Fidelity,又称802.11b标准,它的最大优点就是传输速度较高,可以达到11Mbps,另外它的有效距离也很长,同时也与已有的各种802.1

2010-06-13 17:49:00 1560

转载 QT的信号与槽机制介绍

<br />2001 年 6 月 01 日信号与槽作为QT的核心机制在QT编程中有着广泛的应用,本文介绍了信号与槽的一些基本概念、元对象工具以及在实际使用过程中应注意的一些问题。<br />QT是一个跨平台的C++ GUI应用构架,它提供了丰富的窗口部件集,具有面向对象、易于扩展、真正的组件编程等特点,更为引人注目的是目前Linux上最为流行的KDE桌面环境就是建立在QT库的基础之上。QT支持下列平台:MS/WINDOWS-95、98、NT和2000;UNIX/X11-Linux、Sun

2010-06-13 17:36:00 502

转载 Qt for Symbian怎样强制使用横屏或竖屏

<br />摘要:本文介绍怎么在Qt for Symbian程序中即使手机水平状态发生变化的时候强制使用横屏或竖屏。<br />对于带有水平传感器的Symbian手机,在用户将手机从横屏模式(Landscape)切换到竖屏模式(Portrait)时,系统会自动调整手机的屏幕显示方向,满足用户正常的使用需要。屏幕横宽比的变化,需要应用调整窗口的布局,以保证更好的用户体验。<br />但是在某些特殊场合中(比如游戏),开发者可能希望即使手机的水平状态已经变化,需要屏幕继续保持原来的屏幕方向,提示用户

2010-06-13 17:28:00 722

转载 学习qt调试

<br />1. 使用警告和调试信息<br /><br />qDubug():输出调试信息 <br />    Example: <br />        qDebug( "my window handle = %x", myWidget->id() );<br /><br />qWarning():输出警告信息 <br />    Example: <br />        void f( int c )<br />        {<br />        

2010-06-12 15:35:00 856

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除