牛客 C++刷题day39

1.  _beginthreadex()比较于 CreateThread()有更高的线程安全性,不会造成多个线程共用同一个全局变量的情况。所以应该尽量使用前者。

2.数组下标越界:这个应该是的问题,数组255大小,但是当a[255]就是256个元素,相当于越界了。
死循环:这个就是字符型的变量大小在0-255之间,所以说i永远不可能大于255的,死循环。
内存泄漏:创建的临时变量,在栈中,应该会由系统自动释放,所以应该是不存在内存泄漏的问题。
内存溢出:通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。此时软件或游戏就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件。
栈溢出:属于缓冲区溢出的一种。栈溢出是由于C语言系列没有内置检查机制来确保复制到缓冲区的数据不得大于缓冲区的大小,因此当这个数据足够大的时候,将会溢出缓冲区的范围。

3.小数点后的位权应该是2的负数次方才没有误差,其它的情况都有误差。因为比如0.1这样的二进制是有循环数的,所以必须要有取舍,而其他的则不需要。8字节的共64位,按照标准的浮点数表示方法,应该是1位符号位,11位指数位,52位尾数位

4.std::sort先采用快排,若递归深度过大,则转用堆排,与选取中值无关,std::vector可以调用shrink_to_fit()归还多余的空间。

map的迭代器的key是const类型,无法对其进行修改。
list是双链表实现,插入的元素的复杂度为O(1)

猜你喜欢

转载自www.cnblogs.com/Tonarinototoro/p/11650928.html