每日一题 - day4

每日一题 - day4,第1张

1. ( D )4 

解析:

2.( C )

一些理解:

①vector内存扩展方式,vs是1.5 , g++是2倍,取决于编译器

②STL的容器可以分为以下几个大类:

一:序列容器 , 有vector, list, deque, string.

二 : 关联容器, 有set, multiset, map, mulmap, hash_set, hash_map, hash_multiset, hash_multimap

三: 其他的杂项: stack, queue, valarray, bitset

bitset是标准非容器,指的是可以认为是容器,但是没有满足所有的容器要求。bitset不支持指针、引用、迭代器,不支持插入和删除元素,它只是一个标准模板类

                

3.

                 

解析:

1 printf()是一个库函数,C,C++中函数的参数是从右往左入栈的;

2 栈的生长方向是从高往低的

3 小端模式是低位存储在低字节

4 %d格式输出的是4个字节大小,而long long为8个字节

4.( B )


解析 :动态联编就是程序在运行的时候知道该调用哪个函数,而不是编译阶段,所以这个机制应该是由虚函数支持的,即运行时的多态,基类的某个成员函数声明为虚函数,派生类继承,而且同样重写该函数,那么当声明一个派生类的指针或者引用时,它所调用的函数是由该指针指向的对象确定的,这就是动态联编

                

5.( A )

         

解答:链接:

vector是顺序存储的,只有在尾部插入才不会导致迭代器失效,在头部插入或者中间插入都会导致插入的部位以及其后的所有迭代器都失效;

map是映射,key和value是一一对应的,在内存中是零散存在的,迭代器通过key找到value,无论怎么插入都不会让迭代器失效,当然删除只会使得被删除元素的迭代器失效.

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/875367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存