一、vector与list区别 vector为存储的对象分配一块连续的地址空间,因此对vector中的元素随机访问效率很高。在vecotor中插入或者删除某个元素,需要将现有元素进行复制,移动。如果vector中存储的对象很大,或者构造函数复杂,则在对现有元素进行拷贝时开销较大,因为拷贝对象要调用拷贝构造函数。对于简单的小对象,vector的效率优于list。vector在每次扩张容量的时候,将
把char*转换为wchar_t* 用stdlib.h中的mbstowcs_s函数,可以通过下面的例子了解其用法: char *CStr = "string to convert"; size_t len = strlen(CStr) + 1; size_t converted = 0; wchar_t *WStr; WStr=(wchar_t*)m
下面的代码片段定义了结构体A和B: struct A // 结构体A { int a; char b; &n
本文转载自: http://developer.51cto.com/art/201107/277376.htm const 是c++中常用的类型修饰符,但我在工作中发现,许多人使用它仅仅是想当然尔,这样,有时也会用对,但在某些微妙的场合,可就没那么幸运了,究其实质原由,大多因为没有搞清本源。故在本篇中我将对const进行辨析。溯其本源,究其实质,希望能对大家理解const有所
本文出自:http://hi.baidu.com/hins_pan/blog/item/515b0637f92499d2a3cc2b8a.html 第二大章主要讲的是vector和string这两种stl的使用。这两种stl都是continue-stored的方式来组织数据的,特别是vector更是提供了和数组非常相似行为。 两者都可以替换标准C语言中
一、c++ inline函数产生原因 由于函数调用会有一定的时间和空间方面的开销,特别是对于一些函数体代码不大但又被频繁调用的函数来讲,效率是很低的。 在C语言中,可以用宏函数来提高上面那种情况的效率,但宏函数有些缺点,它只是提供一个文本替换的功能,而不是一个真正的函数。所以在C++中引入了inline函数来解决这个问题,它会像宏函数一样在调用函数处用内联函数体的代码进行替换,还遵循函数的类型
命名空间是c++提供的一种机制,可以有效地避免函数名污染。然后在应用时要十分注意:任何情况下都不应在头文件中使用“using namespace xxx”这样的语句。 这是为什么呢?来看下面的例子,我们在命名空间ABC和XYZ中分别定义了一个sort函数,如下所示: // 文件 abc.h namespace ABC  
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号