当前位置: 首页 > news >正文

个人网站可以做淘宝客网站吗安徽教育云平台网站建设

个人网站可以做淘宝客网站吗,安徽教育云平台网站建设,定制设计软件,安徽省建设干部学校网站首页1#xff09;STL扫盲 1#xff09;C标准库和标准模板库是不一样的 2#xff09;标准模板库是用泛型编程方式编写的函数或者类库; 3) SGI STL linux一般用#xff0c;P.J.Plauger STL,visual2017 windows用 STL六大组件 : 容器#xff0c;迭代器 STL 算法(说白了就是函数…1STL扫盲 1C标准库和标准模板库是不一样的 2标准模板库是用泛型编程方式编写的函数或者类库; 3) SGI STL linux一般用P.J.Plauger STL,visual2017 windows用 STL六大组件 : 容器迭代器 STL 算法(说白了就是函数) STL 分配器:分配内存的也叫内存分配器allocator [ˈæləˌkeɪtə] 适配器和仿函数 convert 转换converge 汇聚收敛 容器分类顺序容器关联容器(associate [əˈsəʊsɪˌcontainer)无序容器;注意associate的第一个as是ad变体表示靠近的意思 deque 双端队列:double end queue foward_list是单向链表2stl::array中存储的字符串时内存关系案例 #includeiostream #includearrayusing namespace std;int main() {arraystring, 5 arr{ 1232222222222222222,456,aaaaaaa};cout sizeof(string) endl; //28个字节for (int i 0; i arr.size(); i){const char* p arr[i].c_str();cout ---------------------begin----------------- endl;cout 数组元素值 p endl;printf(对象地址 %p\n, arr[i]);printf(指向字符串地址 %p\n, p);cout ---------------------end----------------- endl;cout endl;}const char* p1 1232222222222222222;const char* p2 1232222222222222222;printf(p1地址 %p\n, p1);printf(p2地址 %p\n, p2);return 0; } //输出结果 28 ---------------------begin----------------- 数组元素值 1232222222222222222 对象地址 012FFA74 指向字符串地址 016BD988 ---------------------end----------------- ---------------------begin----------------- 数组元素值 456 对象地址 012FFA90 指向字符串地址 012FFA94 ---------------------end----------------- ---------------------begin----------------- 数组元素值 aaaaaaa 对象地址 012FFAAC 指向字符串地址 012FFAB0 ---------------------end----------------- ---------------------begin----------------- 数组元素值 对象地址 012FFAC8 指向字符串地址 012FFACC ---------------------end----------------- ---------------------begin----------------- 数组元素值 对象地址 012FFAE4 指向字符串地址 012FFAE8 ---------------------end----------------- p1地址 0094DC74 p2地址 0094DC74 //从以上结果可知:1)字符串string字节大小为282array中的string数组地址相差28个字节但指向的字符串地址是不挨着的。 //3 定义两个字符串常量但其存储的字符串地址其实只有一个地址 3vector的构造拷贝学习 #includearray #includevector #includeiostream using namespace std;class A { public:A(int a) :m_(a) { cout A constructor endl; }A(const A obj):m_(obj.m_){ cout A copy constructor endl; }~A(){ cout A deconstructor endl; } private:int m_; };int main() {vectorA vec;//vec.reserve(10); 根据实际情况调用这个函数设置存储空间大小就可以减少不必要的拷贝和析构for (int i 0; i 5; i){cout ---------------------begin----------------- endl;vec.push_back(A(i));cout ---------------------end----------------- endl;}return 0; } ---------------------begin----------------- A constructor A copy constructor A deconstructor ---------------------end----------------- ---------------------begin----------------- A constructor A copy constructor A copy constructor A deconstructor A deconstructor ---------------------end----------------- ---------------------begin----------------- A constructor A copy constructor A copy constructor A copy constructor A deconstructor A deconstructor A deconstructor ---------------------end----------------- ---------------------begin----------------- A constructor A copy constructor A copy constructor A copy constructor A copy constructor A deconstructor A deconstructor A deconstructor A deconstructor ---------------------end----------------- ---------------------begin----------------- A constructor A copy constructor A copy constructor A copy constructor A copy constructor A copy constructor A deconstructor A deconstructor A deconstructor A deconstructor A deconstructor ---------------------end----------------- A deconstructor A deconstructor A deconstructor A deconstructor A deconstructor 说明 //造成以上的问题的主要原因是vector存储是连续的当存储数据的时候要不断调整存储空间大小所以就会不断的拷贝和析构 //解决上面的一个方法是最开始就应该预留一个空间调用reserve函数这样就可以减少不必要的拷贝和析构 4分配器的使用案例 #includeiostream #includelistusing namespace std;int main() {std::listint list;list.push_back(10);list.push_back(20);list.push_back(30);list.push_back(40);for (auto it list.begin(); it ! list.end(); it){int* ptr (*it);printf(element address is: %p\r\n, ptr);}return 0; } //输出结果是输出地址根本不联系 element address is: 011DFEC0 element address is: 011E0240 element address is: 011E0278 element address is: 011E0010 结论上述代码中缺省的分配器根本没有用内存池技术应该采用的是malloc这个技术//使用分配器的方法 using namespace std; //不建议直接使用 int main() {std::allocatorint allo;int* ptr allo.allocate(3);*ptr 1; ptr;*ptr 2; ptr;*ptr 3;allo.deallocate(ptr,3);return 0; } 5)迭代器的使用 迭代器是一个对象(确切的说类似于一个指针的对象); 迭代器和容器是紧密相关的。 迭代器是分类标准迭代器的移动特性和数据访问操作 输出迭代器输入迭代器前向迭代器双向迭代器随机访问迭代器 output_iterator_tag iterator、const_iterator、reverse_interator、const_reverse_interator有些模板类不提供迭代器比如stack,deque,queue等 typename修饰模板类型 typename iterator_traitsT::iterator_category cagy; //iterator_traitsT::iterator_category是一个类型typename是说明类型的 #includeiostream #includevectorusing namespace std;templatetypename T void printMsg(const T tmp) {if (tmp.size() 2){typename T::const_iterator iter(tmp.begin()); //错误提示“const_iterator” : 类型 从属名称的使用必须以“typename”为前缀所以必须添加为typenameint val *iter;cout val endl;} }int main() {std::vectorint v{ 1,2,3,4 };printMsg(v);return 0; }6STL算法概述 算法就理解为函数更确切的说是函数模板全局函数/全局函数模板 算法的前两个参数大多数是一个迭代器区间 前闭后开的好处算法只要判断迭代器等于后边开区间则表示迭代器结束 如果iterator_beginiterator_end则代表为空区间 算法是搭配迭代器的使用的全局函数。算法跟容器没有毛关系只跟迭代器有关。 for_each(begin,end,可调用对象) 仿写for_each遍历算法代码如下 void printMsg(int i) {cout i endl; } templatetypename inputIterator,typename Fun void fun(inputIterator first, inputIterator end, Fun f) {for (; first ! end; first){f(*first);} } int main() {std::vectorint vec{ 1,2,3,4,5 };fun(vec.begin(), vec.end(), printMsg);return 0; }6.1)sort的使用方法 sort中的仿函数调用对象 class A { public:bool operator()(int i,int y){if (i y)return true;else return false;} };int main() {std::vectorint vec{ 1,20,13,54,51 };A a;sort(vec.begin(), vec.end(),a);for (auto it vec.begin(); it ! vec.end(); it){cout *it endl;}return 0; }adjacent[əˈdʒeɪsnt] 临近的 饿滴 家 ad是强调的作用jac是ject的变体 记忆方法 ad ja cent (我的家距离我近回家可以吃饭 7函数对象的学习 函数对象也叫仿函数是一个意思 在stl中函数对象一般都合算法配合使用实现一些特定功能主要服务于算法 标准模板库也给我们提供了一些函数对象头文件包含functional大概有十八个样子 plusint(); //对这句话的解释plus是类模板,加上int才可以成为真正的类plusint,再加上(),生成一个临时对象就是个可调用对象 使用方法如下 std::vectorint vec{ 1,20,13,54,51 }; sort(vec.begin(), vec.end(), greaterint()); for (auto it vec.begin(); it ! vec.end(); it) {cout *it endl; }
http://www.sadfv.cn/news/118648/

相关文章:

  • 深圳网站建设的公司招聘温州平阳县营销型网站建设
  • 面试网站开发佛山网站设计电话
  • 宜昌优化网站建设网站首页图片叫什么
  • 中国建设网站用户名wordpress加载图片404
  • 西宁网站建设报价cu君博規范自适应网站怎么做移动配置
  • 网站都是用什么编写的如何给自己网站做网站优化
  • 网站集约化后如何建设潍坊建立企业网站公司
  • 网站会员功能万维建设网站
  • 用自己电脑怎么做网站深圳企业网站制作中心
  • 安徽手机版建站系统信息网站建设流程 报读文库
  • 精品课程建设网站清单新网站建设的流程
  • 网站首页html代码的视频网站做视频节目赚钱吗
  • 佛山网站制作哪里实惠阳江网红打卡地方
  • 怎样建设大型网站湖北商城网站建设多少钱
  • 网站建设评价指标京津冀协同发展纲要
  • 自己公司产品网站的好处网站开发技术写什么内容
  • 做电影下载网站宜兴网站建设公司
  • 顶针 东莞网站建设做网站推广的流程
  • 设计网站作品欣赏有那些网站建设银行网站登陆二星是什么意思
  • 做企业礼品的网站wordpress网页美化教程
  • 石柱县建设局网站网站建设能
  • 山西建设厅报名网站公益网站建设那家好
  • wordpress图纸管理网站大连h5开发公司
  • 佛山网站建设推广服务北京市建设工程发包承包交易中心网站
  • 购物网站建设珠海成都装修设计公司推荐
  • 网站建设预付wordpress设置默认首页
  • 长沙 网站设计 公司价格广安网站制作设计
  • 成都网站建设哪里有网站统计分析平台
  • 如何自已建网站软件开发工具的主要分类方法
  • 河北建设厅八大员报名网站可使用虚拟主机