C/C++
文章平均质量分 76
bigapple88
这个作者很懒,什么都没留下…
展开
-
C和C++函数的相互引用
C和C++函数的相互引用上次代码了碰到了这个问题,.c中调用.cpp中的函数,网上搜之,得此佳文。原文地址:http://blog.csdn.net/wfwd/archive/2006/05/30/763734.aspx========================================================================================转载 2010-04-08 12:13:00 · 424 阅读 · 0 评论 -
const成员函数的使用
const成员函数的使用 const成员函数表示该成员函数只能读类数据成员,而不能修改类成员数据。定义const成员函数时,把const关键字放在函数的参数表和函数体之间。有人可能会问:为什么不将const放在函数声明前呢?因为这样做意味着函数的返回值是常量,意义完全不同。下面是定义const成员函数的一个实例: class X { int i; public: int f()转载 2010-05-24 16:32:00 · 696 阅读 · 0 评论 -
bit、byte、位、字节、汉字的关系
字节(Byte):通常将可表示常用英文字符8位二进制称为一字节。 一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间. 符号:英文标点2占一个字节,中文标点占两个字节. 1字节(Byte) = 8位(bit) 比特(Bit),亦称二进制位。新港台:位元 比特指二进制中的一位,是二进制最小信息单位。 1比特就是1位 字节 字节(Byte):字节是通过网络传原创 2010-05-17 17:35:00 · 93399 阅读 · 3 评论 -
《C++ Primer中文版》(第四版)信息汇总(四)
本章节包括:类、复制控制以及重载操作符与转换。12、类在C++中,用类来定义自己的抽象数据类型,通过定义类型来对应所要解决的问题中的各种概念,可以使我们更容易编写、调试和修改程序。1、类的定义:(1)类可以没有成员,也可以定义多个成员,成员可以是数据、函数或类型别名;(2) 创建一个类类型的对象时,编译器会自动使用一个构造函数来初始化该对象,构造函数一般应使用一个构造函数初始化列表来初始化转载 2010-05-11 12:27:00 · 651 阅读 · 0 评论 -
《C++ Primer中文版》(第四版)信息汇总(三)
本部分主要是讨论“容器和算法”,具体内容包括:顺序容器、关联容器以及泛型算法。第9章深入探讨vector和其他顺序容器类型,第10章介绍关联容器,即不是顺序排列,而是按键排序的,第11章介绍泛型算法,这些算法通常作用于容器或序列中某一范围的元素。所谓泛型指的就是这些算法可以作用于不同的容器类型,而这些容器又可以容纳多种不同类型的元素。九、顺序容器将单一类型元素聚集起来成为容器,然后根据位置来存转载 2010-05-11 12:25:00 · 661 阅读 · 0 评论 -
《C++ Primer中文版》(第四版)信息汇总(二)
本章主要对语句、函数、标准IO库进行汇总。 六、语句C++语言既有只完成单一任务的简单语句,也有作为一个单元执行的由一组语句组成的复合语句。本章主要讲解讨论C++支持的语句。1、break语句用于结束最近的while、do while、for或switch语句,并将程序的执行权传递给紧接在被终止语句之后的语句。2、continue语句导致最近的循环语句的当次迭代提前结束。3、C++转载 2010-05-11 12:24:00 · 696 阅读 · 0 评论 -
《C++ Primer中文版》(第四版)信息汇总(一)
最近决定把Lippman的大作《C++ Primer》重新温习一遍,在查阅的过程中记录下一些重要的知识点,希望对于自己有一定的帮助。为方便查询,全部内容按照章节分类。第一章 快速入门1、iostream库的基础是两种命名为istream何ostream的类型,分别表示输入流和输出流。标准库定义了4个IO对象,处理输入时使用cin的istream类型对象。处理输出时使用命名为cout的ost转载 2010-05-11 12:23:00 · 757 阅读 · 0 评论 -
TCPMP播放器UI的修改方法
前段时间对TCPMP程序进行了研究,花了点时间把TCPMP程序的UI修改成了自已想要的样子,现对UI的修改方法简单介绍下: 网上有文章对于TCPMP程序在ARMV4下的编译方法和程序的结构介绍比较详细,但对于inteface方面的修改方法讲得并不多. 修改TCPMP界面基本上有两种方法:1) 建立自已的工程,把TCPMP下的lib移植到这个工程里,这样界面的修改比较转载 2010-05-04 10:15:00 · 950 阅读 · 0 评论 -
TCPMP栽剪
为了做一个最小的tcpmp,试着将各种插件去掉。目前只有:COMMON.DLL,interface.plg,language.tgz,player.exe 播放mp4文件,提示“不支持的文件格式”好,缺少mp4文件解析插件,加上splitter.plg再播放,提示“Player:Video codec(MPEG-4 Video)not supported by the play转载 2010-05-04 12:17:00 · 1044 阅读 · 0 评论 -
FFMpeg框架代码阅读
内容摘要:FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、 DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码. TCPMP, VLC, MPlayer等开源播放器都用到了FFmpeg。转载 2010-05-04 10:17:00 · 711 阅读 · 0 评论 -
TCPMP源代码分析
播放器主要由核心框架模块(common工程)和解码器、分离器插件组成。TCPMP的插件非常多,其中主要的插件有:interface插件实现了TCPMP的界面,ffmpeg是系统主要的音视频解码模块,splitter是媒体文件分离器。 由于ffmpeg的解码效率不高,系统仅使用了ffmpeg的部分功能。并且未使用其中的libavformat模块,而使用splitter模块进行。其他插件暂转载 2010-05-04 10:14:00 · 825 阅读 · 0 评论 -
TCPMP编译方法
本文主要讲解TCPMP播放器到WINDOWS CE平台的移植编译过程,硬件平台以ARMV4为主,结束部分会讲解到ARMV4I编译中需要注意的问题 这几天为公司一个项目做准备,准备编译移植来自linux系统的超级开源媒体播放器TCPMP(商业版名称:The Core Player)到Windwos CE平台,tcpmp是目前支持最多可以用在嵌入式设备中多媒体播放器.除了rm,rmvb转载 2010-05-04 10:13:00 · 539 阅读 · 0 评论 -
malloc失败
<br /> 今天遇到了一个问题,malloc失败,下边是其中的一部分代码,在一个循环中:<br /> <br />if(cinfo->num_components == 1)<br /> {<br /> unsigned char* tmpBuf=(unsigned char* )malloc(cinfo->output_width*nPixelSize);<br /> <br /> for(int k=0;k < cinfo->output_width;k++)<br />原创 2010-06-25 11:11:00 · 5774 阅读 · 2 评论 -
深入分析C++中char * 和char []的区别
问题引入:在实习过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="abc",前者改变其内容程序是会崩溃的,而后者完全正确。程序演示:测试环境Devc++代码运行结果2293628 4199056 abc2293624 2293624 abc2293620 4199056 abc#include using namespace std;main(转载 2010-04-19 14:34:00 · 631 阅读 · 0 评论 -
深入理解C++中的mutable关键字
mutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。 在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类状态转载 2010-04-06 15:38:00 · 376 阅读 · 0 评论 -
C++ 学习笔记
第一章 类和对象 类和对象是面向对象程序设计的两个最基本、最重要的概念。所谓对象就是客观事务在计算机中的抽象描述;而所谓类则是对具有相似属性和行为的一组对象的统一描述。从程序设计语言的角度来说,类是一种数据类型,而对象是具有这种类型的变量。 1.类的定义 类定义的一般形式为: class 类名 { private: 数据成员或成员函数 protect转载 2010-04-12 10:29:00 · 450 阅读 · 1 评论 -
C++学习摘要之三:继承和派生
继承性是面向对象程序设计最重要的机制之一。 1.继承的概念 所谓继承(inheritance)就是利用已有的数据类型定义出新的数据类型。 在继承关系中,被继承的类称为基类(base class)或父类,而通过继承关系定义出来的新类则被称为派生类(derived class)或子类。 派生类既可以对基类的性质进行扩展又可以对基类进行限制,从而得到更加灵活、适用的可重用模块,转载 2010-04-12 10:33:00 · 479 阅读 · 0 评论 -
堆和栈的区别
堆(Heap)栈(Stack) 1、内存分配方面: 堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。 栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。转载 2010-05-28 17:42:00 · 993 阅读 · 0 评论