摘要:
读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。如下是一个XML片段:<Persons><PersonID="1&q 阅读全文
随笔分类 - C++
Linux下编译安装boost【转载】适用于新版本
2011-10-29 16:37 by htc开发, 145 阅读, 收藏,
摘要:
原来转载那个讲的安装版本过老,不适合现在版本,重新找了一个收集下来备用原文出处:http://blog.ehomy.net/archives/148-----------------------工作平台:Ubuntu获取boost库Linux下官方提供了两个压缩版本:boost_1_43_0.tar.bz2boost_1_43_0.tar.gzwindows平台有:boost_1_43_0.7zboost_1_43_0.zip找到其中一个Unix/Linux包的直接下载地址,然后输入下列命令sudo wget http://downloads.sourceforge.net/project/b 阅读全文
Boost 1.47.0编译
2011-10-28 12:05 by htc开发, 273 阅读, 收藏,
摘要:
1. 至http://sourceforge.net/projects/boost/files/boost/1.47.0/下载boost最新版1.47.0;2. 解压缩后,运行bootstrap.bat批处理文件,得到bjam.exe;3.进入VS2008的Command Prompt (方法:Tools -> Visual Studio 2008 Command Prompt),转到boost目录。(例如,我的boost目录:D:\boost_1_47_0)4.输入“bjam --toolset=msvc-9.0 --build-type=complete stage”后,等待约30分 阅读全文
《c++ prime》读书笔记--模板与泛型编程
2010-11-13 17:32 by htc开发, 235 阅读, 收藏,
摘要:
简介泛型编程与面向对象编程一样,都依赖于某种形式的多态性,在C++中,模板是泛型编程的基础。目的使用泛型类型与泛型函数正文定义函数模板template<classT>intcompare(constT&t1,constT&t2){if(t1<t2)return-1;if(t2<t1)return1;return0;}使用函数模板cout<<compare(1,0)<<endl;cout<<compare<int>(1,0)<<endlinline函数模板inline template<cl 阅读全文
抓取url的超链接程序(使用到libcurl和libxml2)
2010-09-16 16:30 by htc开发, 282 阅读, 收藏,
摘要:
抓取url的超链接程序(使用到libcurl和libxml2)写了一个c++语言小程序,当作练习。c++文件:#include <iostream>#include <stdio.h>#include <string.h>#include <stdlib.h>#include <string>#include <vector>#include <curl/curl.h>#include <libxml/HTMLparser.h>using namespace std;#ifdef _MSC_VER# 阅读全文
c语言字符串处理函数
2010-08-19 21:31 by htc开发, 339 阅读, 收藏,
摘要:
C字符串处理函数的实现(Linux)#include <stddef.h>char * ___strtok = NULL;char * strcpy(char * dest,const char *src){ char *tmp = dest; assert((dest!= NULL) && (src!= NULL)); while ((*dest++ = *src++) != '/0') /* nothing */; return tmp;}char * strncpy(char * dest,const char *src,size_t coun 阅读全文
C/C++混合编程
2009-11-28 15:28 by htc开发, 191 阅读, 收藏,
摘要:
EXTERNAL C的用法 例:两个文件:c文件:C.c***********************************************int external=5; //全局变量,缺省为extern。int func() //全局函数,缺省为extern。{return external;}***********************************************cpp文件:CPP.cpp***********************************************#include "iostream"using name 阅读全文
《c++ prime》读书笔记--继承和访问控制
2009-11-22 14:54 by htc开发, 175 阅读, 收藏,
摘要:
基本规则 在基类中,public和private标号具有普通意义:用户代码可以访问类的public成员而不能访问private成员,private成员只能由基类的成员和友元访问。派生类对基类的public和private成员的访问权限与程序中任意其他部分一样:它可以访问pubic成员而不能访问private成员。 有时作为基类的类具有一些成员,他希望允许派生类访问但继续禁止其他用户访问这些成员,对于这样的成员应该使用受保护的访问标号(protected),protected成员可以被派生类对象访问但不能被该类型的普通用户访问。 下面是代码演示#include <iostream>u 阅读全文
《c++ prime》读书笔记--static类成员的用法
2009-11-20 15:42 by htc开发, 246 阅读, 收藏,
摘要:
#include <iostream>using namespace std;class Base{public: Base(int i):b(i){} static int get_a(){ return a; }private: int b; static int a; //static const int a = 5;};int Base::a = 5;//int Base::b = 6; //errorint main(){ Base base(1); //cout << Base::a << endl; cout << Base::ge 阅读全文
初探标准I/O库
2009-11-19 16:17 by htc开发, 156 阅读, 收藏,
摘要:
之前一直在学习unix/linux,在这类操作系统中作业时也曾碰到相关的概念,而unix和类unix系统均是由C语言实现的,而且该C语言也不是同一标准,而是由ANSI C和POXIS C混杂而成,在该系统中的标准I/O使用的是文件I/O和标准I/O概念,正是由于unix把所有的设备和普通文件多当成文件来处理,从一个比较抽象的层面把一些细节上的东西给屏蔽了. 这段时间又回过头来看很久没看的<<C++ PRIME>>,很多方面体会都发生着改变. C++中标准I/O使用的是流的概念(unix中也有流的概念stream,STREAM),通过流来控制相关的输入输出,同时C++作为 阅读全文
C++重载操作符于转换 笔记
2009-08-15 10:46 by htc开发, 169 阅读, 收藏,
摘要:
重载操作符:Overloaded functions that are members of a class may appear to have one less parameter than the number of operands. Operators that are member functions have an implicit this parameter that is bound to the first operand.作为类成员的重载函数,其形参看起来比操作数数目少 1。作为成员函数的操作符有一个隐含的 this 形参,限定为第一个操作数。赋值(=)、下标([])、 阅读全文
C++类的复制控制 笔记
2009-08-15 10:36 by htc开发, 126 阅读, 收藏,
摘要:
vector<string> svec;它的初始化过程:编译器首先使用 string 默认构造函数创建一个临时值来初始化 svec,然后使用复制构造函数将临时值复制到svec 的每个元素。The parameter of the copy constructor does not strictly need to be const, but it does need to be a reference. Explain the rationale for this restriction. For example, explain why the following definit 阅读全文
C++类 学习笔记
2009-08-15 10:26 by htc开发, 153 阅读, 收藏,
摘要:
类.Key Concept: Benefits of Data Abstraction andEncapsulation关键概念:数据抽象和封装的好处Data abstraction and encapsulation provide two important advantages:数据抽象和封装提供了两个重要优点:Class internals are protected from inadvertent user-level errors,which might corrupt the state of the object.避免类内部出现无意的、可能破坏对象状态的用户级错误。The c 阅读全文
浙公网安备 33010602011771号