c++基础
文章平均质量分 66
xiaowenguili
这个作者很懒,什么都没留下…
展开
-
C++学习记录之list容器
list是C++标准模版库(STL,Standard Template Library)中的部分内容。实际上,list容器就是一个双向链表,可以高效地进行插入删除元素。 使用list容器之前必须加上<vector>头文件:#include<list>;原创 2015-09-24 19:21:04 · 488 阅读 · 0 评论 -
memcpy和strcpy的区别
memcpy: 函数原型:void *memcpy(void *dest, const void *src, size_t n); 功能:从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中 返回值:指向dest的指针。 说明:memcpy会完整的复制n个字节,不会因遇到字符串结束符’\0’而结束。而strcpy则是遇到字符串结束符’\0’而结束。原创 2016-07-06 15:23:54 · 1247 阅读 · 0 评论 -
C++学习记录之vector容器
1、erase()方法vector::erase():从指定容器删除指定位置的元素或某段范围内的元素vector::erase()方法有两种重载形式如下:(1) iterator erase(iterator _Where);删除指定位置的元素:返回值是一个迭代器,指向删除元素下一个元素.(2) iterator erase(iterator _First,iterator _原创 2015-09-22 18:52:22 · 577 阅读 · 0 评论 -
C++学习记录之string字符串
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 首先,为了在我们的程序中使用string类型,我们必须转载 2015-09-22 20:26:28 · 402 阅读 · 0 评论 -
C++学习记录之函数返回值为指针的问题
一般在函数中定义一个对象有两种方法:1、在栈上建立局部变量。注意,在栈上时!栈用于函数是为了返回时找得到调用点(在调用时压入栈的) ,那么,返回时要POP才能得到。函数体中建立的任何东西都释放掉了,你返回的指针指向的内容为空,成为了野指针。2、在堆中分配。返回时不会摧毁,因为堆是全局存在的。但函数的调用者要记得delete回来的指针。我们来看下面的一段代码char *GetSt原创 2015-11-18 19:59:03 · 3804 阅读 · 0 评论 -
TingXML学习记录之读写xml文档
TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。在自己项目中使用TinyXML需要把六个cpp文件加入工程中,原创 2015-10-13 18:49:47 · 984 阅读 · 0 评论 -
C++学习记录之STL函数
1、排序函数 sort (): 对给定区间所有元素进行排序 stable_sort: 对给定区间所有元素进行稳定排序 partial_sort: 对给定区间所有元素部分排序 partial_sort_copy:原创 2015-09-23 19:18:35 · 337 阅读 · 0 评论 -
C++学习记录之浮点数相等比较
用"=="来比较两个浮点数(float或double)是否相等,返回真值完全是不确定的。计算机对浮点数的计算原理是只保证必要精度内正确即可。但是可以用“>”,"如以下比较fTemp是否等于0.9是不正确的,结果是未知的。float fTemp=0.9;if(0.9==fTemp){ }以下是我封装的比较函数float fTemp=0.9;float CServerGa原创 2015-10-10 16:19:02 · 977 阅读 · 0 评论 -
C++学习记录之deque容器
deque容器详解1、c.begin()返回指向第一个元素的迭代器;c.end()返回指向最后一个元素下一个位置的迭代器deque d {1,2,3,4,5}; deque::iterator it; for(it=d.begin();it!=d.end();it++){ cout << *it << " "; } cout << endl;2、c.rbe原创 2015-09-25 18:50:49 · 303 阅读 · 0 评论 -
C++学习记录之map容器和multimap容器
map容器和multimap容器map和multimap 以平衡二叉树来实现,multimap内部结构是一对多的关系,允许重复元素,而map内部结构是一对一的关系,不允许重复元素。两者都不能直接改变key 的值,value 的值是可以直接修改的;搜索函数://返回键值等于key的元素个数m.count(key)std::multimap map; map.insert(st原创 2015-09-27 18:55:12 · 625 阅读 · 0 评论