如何构建一个电子商务网站的题库,并利用PHP框架和WordPress实现?

摘要:电子商务网站建设题库及答案,PHP框架和wordpress,微信里的小程序占内存吗,上海十大企业目录 前言1. vector介绍及使用1.1vector的介绍1.2 vector的使用1.2.1 构造函数 1.2.2 vector对象遍历1
电子商务网站建设题库及答案,PHP框架和wordpress,微信里的小程序占内存吗,上海十大企业目录 前言1. vector介绍及使用1.1vector的介绍1.2 vector的使用1.2.1 构造函数 1.2.2 vector对象遍历1.2.3 reserve和resize1.2.4 insert和erase 2. vector模拟实现2.1 vector迭代器失效问题2.2 模拟实现reserve函数浅拷贝问题2.3模拟实现源码2.3.1 vector.h2.3.2 test.cpp 前言… 目录 前言1. vector介绍及使用1.1vector的介绍1.2 vector的使用1.2.1 构造函数 1.2.2 vector对象遍历1.2.3 reserve和resize1.2.4 insert和erase 2. vector模拟实现2.1 vector迭代器失效问题2.2 模拟实现reserve函数浅拷贝问题2.3模拟实现源码2.3.1 vector.h2.3.2 test.cpp 前言 这篇文章我们来学习一下STL容器里的vector我们先来学习一下它的使用然后对vector进行模拟实现。 1. vector介绍及使用 1.1vector的介绍 vector文档介绍 vector是一个大小可以更改的数组序列容器。 其实这里可以简单认为vector就是之前数据结构学的顺序表。 1.2 vector的使用 vector提供的接口跟string是非常相似的所以经过前面string的学习再学习vector成本降低了很多。 下面我们来介绍一下常用接口。 1.2.1 构造函数 首先看第一个 这个是用来传空间配置器的我们可以认为这个就是无参的构造函数构造一个空的vector。 注意 vector是一个类模板类模板实例化只能显式实例化即需要在类模板名字后跟然后将实例化的类型放在中即可。 类模板不是真正的类其实例化的结果才是真正的类。 这个就是支持用n个val构造一个vector对象。 这个就是支持迭代器区间构造也不难理解我们来给大家演示一下 这个就是拷贝构造了 1.2.2 vector对象遍历 vector也重载了[]这里可以使用for循环遍历 也可以使用迭代器也就是支持范围for 1.2.3 reserve和resize 首先我们来看一下vector的扩容机制 #include iostream #include vector using namespace std; int main() {// 测试vector的默认扩容机制size_t sz;vectorint v;sz v.capacity();cout making v grow:\n;for (int i 0; i 100; i){v.push_back(i);if (sz ! v.capacity()){sz v.capacity();cout capacity changed: sz \n;}}return 0; }这里g下是二倍扩 当我们知道需要多少空间直接用reserve把空间开好就可以减少频繁扩容的一个消耗。 确定知道需要用多少空间reserve可以缓解vector增容的代价缺陷问题。 我们再来看一下resize(): resize在开空间的同时还会进行初始化,当然如果传的n比size小那它还会删除多余的数据。 1.2.4 insert和erase 与string相比vector只支持我们去传迭代器和迭代器区间了 2. vector模拟实现 2.1 vector迭代器失效问题 会引起其底层空间改变的操作都有可能导致迭代器失效比如resize、reserve、insert、assign、push_back等。 出错原因 以上操作都有可能会导致vector扩容迭代器失效实际就是迭代器底层对应指针所指向的空间被销毁了而使用一块已经被释放的空间造成的后果是程序崩溃(即如果继续使用已经失效的迭代器程序可能会崩溃)。
阅读全文