c++
1.左值和右值 左值引用和右值引用
- 右值引用其实是一个右值,只是能够绑定到左值,所以调用的时候就会调用构造函数
- 完美转发里面含有一个有引用折叠,会根据你的实参类型进行相应的转换,右值还是右值,左值还是左值
2.序列型容器和关联型容器
关联式容器和序列容器都是C++ STL中的容器,它们主要的区别在于其存储内部元素的方式不同。
序列容器是按照元素插入的顺序来存储元素的,也就是说,元素在容器中的位置与其被插入的先后顺序是一致的。例如,vector、list 和deque都是序列容器。
而关联式容器不同,它们是通过比较关键字来对元素进行有序存储的。关键字可以是一个简单数据类型,例如整数或字符串,也可以是一个自定义的结构体或类,元素是按照关键字大小的顺序进行存储的。例如,set、map、multiset和multimap都是关联式容器。
因此,序列容器和关联式容器的最大区别在于内部元素的顺序。此外,在实现上,关联式容器一般采用平衡查找树或哈希表进行元素的存储和访问,而序列容器只需要链表或数组即可实现。两种容器的插入、删除和查找操作的时间复杂度也有所不同,因此需要根据实际问题的需求来选择使用何种容器。