
c/c++技术
文章平均质量分 78
杨柳
linux c/c++ sip qt php
展开
-
c++中的一些概念
一,虚函数和纯虚函数 首先我想说一句话,虚函数是为了让父类指针或引用动态绑定子类对象,实现多态的一种手段。定义一个函数为虚函数,不代表函数为不被实现的函数。 定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。 定义一个函数为纯虚函数,才代表函数没有被实现。二,动态绑定和静态绑定,静态联编和动态联编三,动态绑定四,自动变量(被一个傻X原创 2015-11-23 16:59:08 · 886 阅读 · 0 评论 -
c++虚函数 原理
虚(virtual)函数的一般实现模型是:每一个类(class)有一个虚表(virtual table),内含该class之中有作用的虚(virtual)函数的地址,然后每个对象有一个vptr,指向虚表(virtual table)的所在。请允许我援引自深度探索c++对象模型一书上的一个例子:class Point { public: virtual ~Point();转载 2014-02-28 10:49:48 · 967 阅读 · 0 评论 -
sprintf函数的用法(各种类型转换为char*)
在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个变参函数,定义如下:int sprintf( char *buffer, const char *format [, a转载 2012-08-01 16:50:46 · 15537 阅读 · 0 评论 -
frameburrer显示bmp图片( 程序)
#include #include #include #include #include #include #include #include #include //14byte文件头typedef struct{char cfType[2];//文件类型,"BM"(0x4D42) long cfSize;//文件大小(字转载 2011-11-07 08:51:36 · 730 阅读 · 0 评论 -
c++ 使用throw抛出异常
抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为:throw 表达式; 如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某个catch语句所捕获并处理,捕获和处理的条件是被抛弃的异常的类型与catch语句的异常类型相匹配。由于C++使用转载 2013-10-11 14:30:11 · 1105 阅读 · 0 评论 -
C++虚拟继承
C++使用虚拟继承(Virtual Inheritance),使得派生类如果继承基类多次,但只有一份基类的拷贝在派生类对象中。虚拟继承的语法:class 派生类: virtual 基类1,virtual 基类2,...,virtual 基类n{...//派生类成员声明};也就是说当一个派生类类有多个基类,而这多个基类,基类1,基类2、、、又同时继承一个共同基类3,这样就会使派生转载 2013-10-11 13:52:23 · 862 阅读 · 0 评论 -
c++头文件相互包含
一、类嵌套的疑问C++头文件重复包含实在是一个令人头痛的问题,前一段时间在做一个简单的数据结构演示程序的时候,不只一次的遇到这种问题。假设我们有两个类A和B,分别定义在各自的有文件A.h和B.h中,但是在A中要用到B,B中也要用到A,但是这样的写法当然是错误的:class B;class A{public:B b;};class B{public:A a原创 2013-01-09 09:11:26 · 2460 阅读 · 0 评论 -
c++库之markup
markup很好的一个c++库,从官网直接下载源码把相关文件加入工程项目编译即可。示例如下:xml文件: 04 ӑɾԽ~ݻӗȡл 03 ӑΪԉ~ݻӗޡ˸ c++解析代码:void loadDicXML(){ CMarkup xml;原创 2015-04-28 11:11:49 · 11887 阅读 · 0 评论 -
c++库之jsoncpp库
官方网址https://github.com/open-source-parsers/jsoncpp。 我是以源码的形式使用的,从官网下载源码后解压,然后copy相应的.h和.cpp文件到你的项目目录。编译使用即可。用起来也非常简单,主要以数组的形式进行使用。下面从自己的项目中复制出一段代码作为示例:json数据:{ "msg": "", "原创 2015-04-28 10:59:03 · 1663 阅读 · 0 评论 -
c++类内存结构
当一个c++类被实例化的时候,从内存当中会产生一块关于该类的内存区域。那么,一个类对应的内存是怎么样的呢?类里面有成员变量,有函数,还有虚函数等,具体自己去研究,我这里只介绍一种方法,可以查看一个类的内存分布,好记性不如烂笔头,帮自己记忆了。 用vs系列工具的弟兄,我们以vs2008为例,用所有程序里找到vs2008命令工具,然后打开。然后就可以使用cl工具进行查看了。原创 2015-11-23 16:43:53 · 982 阅读 · 0 评论 -
c++库之 gsoap for Qt (windows)
本文经过自己实践总结,同时参考网上另外一哥们文档.环境:win32,vs2008,Qt 4.7,gsoap2.7.17一,安装vs2008+Qt 4.7+插件就不说了,直接用QtCreator也可以。二,到官网下载gsoap2.7.17,下不到自己想办法,我上传群共享了。但群号不方便说。三,源码解压,然后把gsoap-2.7/gsoap/bin/win32设置到系统的Path中去,原创 2014-12-08 11:12:55 · 3168 阅读 · 0 评论