Chapter 9 Sequential Containers

1.There are a few rules of thumb that apply to selecting which container to use: 

• Unless you have a reason to use another container, use avector.
• If your program has lots of small elements and space overhead matters, don’t

use list or forward_list.

• If the program requires random access to elements, use avector or a deque.

• If the program needs to insert or delete elements in the middle of the container,use alist or forward_list.

• If the program needs to insert or delete elements at the front and the back, butnot in the middle, use adeque.

• If the program needs to insert elements in the middle of the container onlywhile reading input, and subsequently needs random access to the elements:

– First, decide whether you actually need to add elements in the middle of acontainer. It is often easier to append to avector and then call the librarysortfunction (which we shall cover in §10.2.3(p. 384)) to reorder thecontainer when you’re done with input.

– If you must insert into the middle, consider using alist for the input phase.Once the input is complete, copy thelist into a vector

2.To create a container as a copy of another container, the container and elementtypes must match. When we pass iterators, there is no requirement that the containertypes be identical. Moreover, the element types in the new and original containers candiffer as long as it is possible to convert (§4.11, p.159) the elements we’re copyingto the element type of the container we are initializing.

When we initialize a container as a copy of another container, the containertype and element type of both containers must be identical. 

The constructors that take a size are valid only for sequential containers; theyare not supported for the associative containers.

page429image16976

3.The fact that elements are not moved means that, with the exception ofstring,iterators, references, and pointers into the containers are not invalidated. They referto the same elements as they did before the swap. However, after the swap, thoseelements are in a different container.  

Differently from the containers, a call toswap on astringmay invalidate iterators, references and pointers. 

Unlike how swap behaves for the other containers, swapping twoarrays doesexchange the elements. As a result, swapping two arrays requires time proportionalto the number of elements in thearray

After the swap, pointers, references, and iterators remain bound to the same element they denoted before the swap. Of course, the value of that element has been swapped with the corresponding element in the other array

4.push_back:

list, vector, deque. Although string supports the 'char' version of push_back, I may simply use '+'.

5.push_front:

list, forward_list, deck

6.insert:

vector, deque, list and string.

7.The new standard introduced three new members—emplace_front, emplace, andemplace_back—that construct rather than copy elements. These operationscorrespond to the push_front, insert, and push_back operations in that theylet us put an element at the front of the container, in front of a given position, or atthe back of the container, respectively. 

8.Each sequential container, including array, has a front member, and all except forward_list also have a back member. These operations return a reference tothe first and last element, respectively .

As usual, if we use auto to store the return from one of these functions and we wantto use that variable to change the element, we must remember to define our variableas a reference type. 

9.Members to manage capacity

vector and string: c.shrink_to_fit(); c.capacity(); c.reserve(n);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
牙科就诊管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线查看数据。管理员管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等功能。牙科就诊管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 管理员在后台主要管理病例管理、字典管理、公告管理、药单管理、药品管理、药品收藏管理、药品评价管理、药品订单管理、牙医管理、牙医收藏管理、牙医评价管理、牙医挂号管理、用户管理、管理员管理等。 牙医列表页面,此页面提供给管理员的功能有:查看牙医、新增牙医、修改牙医、删除牙医等。公告信息管理页面提供的功能操作有:新增公告,修改公告,删除公告操作。公告类型管理页面显示所有公告类型,在此页面既可以让管理员添加新的公告信息类型,也能对已有的公告类型信息执行编辑更新,失效的公告类型信息也能让管理员快速删除。药品管理页面,此页面提供给管理员的功能有:新增药品,修改药品,删除药品。药品类型管理页面,此页面提供给管理员的功能有:新增药品类型,修改药品类型,删除药品类型。
Sequential是Keras中的一种神经网络框架,它是一个容器,用于封装神经网络的结构。Sequential模型只有一组输入和一组输出,各层按照先后顺序进行堆叠,前一层的输出作为后一层的输入。通过堆叠不同的层,可以构建出神经网络。\[1\]在搭建神经网络时,使用Sequential是非常重要的。通过实践和编写代码,可以更好地理解神经网络的原理和使用方法。\[2\]在使用fit方法时,需要注意validation_split参数用于划分数据集,shuffle参数用于确定是否打乱数据。如果原始数据集本身是有序的,应该在第一轮训练之前先打乱顺序。\[3\] #### 引用[.reference_title] - *1* *3* [多层神经网络 —— Sequential模型](https://blog.csdn.net/xuechanba/article/details/124952150)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [搭建小实战和sequential的使用](https://blog.csdn.net/weixin_69398563/article/details/126360789)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值