nosmatch的专栏

好脑袋比不上烂键盘

使用静态库时需要注意的事项

转载: 在linux下c++开发时, 使用静态库时编译时需要注意如下: 编译时静态库一定要放在最后。 如:(在-o后面) gcc test.cpp –o test.exe libexample.a 使用静态库时一定要连接所有用到的静态库 如要使用libwinkeemq-cpp.a,由于...

2012-05-31 19:09:38

阅读数:1029

评论数:0

C++ string类常用函数

C++string类常用函数 string类的构造函数: string(const char *s);    //用c字符串s初始化 string(int n,char c);     //用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s...

2012-05-30 16:54:48

阅读数:333

评论数:0

c++强制类型转换

C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是:   TYPE b = (TYPE)a   C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。   const_cast,字面上理解就是去const属性。   static_ca...

2012-05-30 16:42:46

阅读数:362

评论数:0

局部类和嵌套类(类定义中包含类定义)

局部类   在一个函数体内定义的类称为局部类。局部类中只能使用它的外围作用域中的对象和函数进行联系,因为外围作用域中的变量与该局部类的对象无关。局部类不能被外部所继承。在定义局部类时需要注意:局部类中不能说明静态成员函数,并且所有成员函数都必须定义在类体内。在实践中,局部类是很少使用的。下面...

2012-05-15 15:13:06

阅读数:6963

评论数:0

多线程条件下的计数器

最近编码需要实现多线程环境下的计数器操作,统计相关事件的次数。下面是一些学习心得和体会。不敢妄称原创,基本是学习笔记。遇到相关的引用,我会致谢。     当然我们知道,count++这种操作不是原子的。一个自加操作,本质是分成三步的:      1 从缓存取到寄存器      2 在寄存器加...

2012-05-15 14:11:25

阅读数:601

评论数:0

vector,map,list,queue区别

1。vector  (连续的空间存储,可以使用[]操作符)快速的访问随机的元素,快速的在末尾插入元素,但是在序列中间岁间的插入,删除元素要慢,而且如果一开始分配的空间不够的话,有一个重新分配更大空间,然后拷贝的性能开销. 2。deque (小片的连续,小片间用链表相连,实际上内部有一个map的指...

2012-05-14 18:08:33

阅读数:598

评论数:0

《CSAPP深入理解计算机系统》读后标记

陆陆续续花了一个月的时间,终于看完了CSAPP(Computer System:A programmer‘s perspective 注:第二版已出:英文版 中文版),头一次看那么厚(900页)的原版书,看完还是有一点点成就感的。 从同宿舍的鲁博士那里第一次听说这本书,了解到该书从一个程序员的...

2012-05-10 09:18:05

阅读数:522

评论数:0

const_cast应用

用法:const_cast (expression)   该运算符用来修改类型的const或volatile属性。除了const 或volatile修饰之外, type_id和expression的类型是一样的。   一、常量指针被转化成非常量指针,并且仍然指向原来的对象;   ...

2012-05-09 10:22:56

阅读数:352

评论数:0

c_str函数

c_str函数的返回值是const char*的,不能直接赋值给char*,所以就需要我们进行相应的操作转化,下面就是这一转化过程。   c++语言提供了两种字符串实现,其中较原始的一种只是字符串的c语言实现。与C语言的其他部分一样,它在c++的所有实现中可用,我们将这种实现提供的字符串对象...

2012-05-09 10:16:56

阅读数:433

评论数:0

reinterpret_cast应用

reinterpret_cast是C++里的强制类型转换符。   操作符修改了操作数类型,但仅仅是重新解释了给出的对象的比特模型而没有进行二进制转换。   例如:int *n= new int ;   double *d=reinterpret_cast (n);   在进...

2012-05-09 10:03:14

阅读数:516

评论数:0

xmlInitParser和xmlCleanupParser使用详解

使用libxml2库的朋友,可能会对它提供的初始化接口(xmlInitParser )和清除资源接口(xmlCleanupParser )感到困惑.因为在它主页中提供的例子里面,各处使用的情况差别很大. 我花了些时间把这两个接口使用方法整理如下: 1. 在单线程(single-threade...

2012-05-09 09:34:53

阅读数:704

评论数:0

libxml读取xml文件的其他方法

在前面一篇文章我提到了一种分析文档的方法,即调用xmlParseFile函数。当我看了libxml官网上的code examples之后,我发现libxml还提供了更加精准的分析方式。 1 调用xmlReadFile函数 xmlReadFile函数接收三个参数,第一个参数是文件名,...

2012-05-08 17:12:09

阅读数:3045

评论数:0

libxml的使用(4)--xpath搜索节点树

在libxml的tutorial中介绍了一种用关键字查找节点的方法,这种方法将使用打xpath系列API。由于我才刚刚接触libxml,所以我对xpath的认识也仅仅是在tutorial提供的功能之内了。废话少说,直接进入整体。 我们在操作xml文件是经常需要根据特定的条件查找一系列的节点,...

2012-05-08 16:49:16

阅读数:4258

评论数:0

libxml的使用(3)--编辑节点

libxml读取的基本功能已经介绍过了,现在将介绍libxml编写的基本功能。 编写操作包含节点的添加,删除和修改。 对于添加,我们需要调用xmlNewTextChild函数来添加节点,需要xmlNewProp函数来添加属性。 xmlNewTextChild接受四个参数,第一个参...

2012-05-08 16:48:33

阅读数:3755

评论数:0

libxml的使用(2)--读取节点属性

在上一篇文章当中,我读取了各个节点的名字和内容,现在我将读取各个节点的属性。 [html] view plaincopyprint? xml version="1.0" encoding="UTF-8"?&...

2012-05-08 16:48:07

阅读数:5393

评论数:1

libxml的使用(1)--读取xml

libxml是一个用于解析xml文件的库,在各个平台下都能使用,也支持多种语言,如c,python等。这里是官方网站。上面有libxml的api和一些code examples,都是英文的。不过比较简单。 libxml的基础功能就是对xml的读和写。下面将简单介绍libxml的读的功能。(大...

2012-05-08 16:47:11

阅读数:9585

评论数:0

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