- 博客(5)
- 资源 (3)
- 收藏
- 关注
原创 vector 使用at 和 []访问元素
1 使用at,如果不存在,则会抛出C++异常,可以使用异常机制捕获vector vecvec.push_back(1);try{ int i = vec.at(2);}catch(...){ cout } 2 使用【】直接抛错(vc编译器)
2009-08-24 10:15:00 3590
转载 STL中用erase()方法遍历删除元素
http://www.cppblog.com/Herbert/archive/2009/01/08/70479.html STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。 在使用 list、set 或 map
2009-08-23 10:10:00 5770
转载 STL:循环删除容器中元素的方法和陷阱
算法大师Donald Knuth:不成熟的优化是一切恶果的根源(Permature optimization is the root of all evil )。 STL中的容器主要是两种:序列式容器和关联式容器。下面讲到的都是我在开发中曾经遇到过的一些问题,有些例子我做了修改,我想初学STL的人基本都会遇到这些问题。序列式容器:vector list string等等关联式容
2009-08-23 09:25:00 1002
转载 不同种类的整型比较,到底发生了什么?
看这么两行代码:int i = -1;cout 在VC6.0下,永远输出0。而下面这两行代码也永远输出0int i = 255;cout 而实际上,以上两个代码中,char(i)和unsigned char(i)具有的内存布局都是完全相同的。由于整型之间的类型转换遵循这样的原则:当目标类型比原类型短的时候,直接截断原类型。而当目标类型较长,则无符号类型会直接在高位补0,有符号类型在高位补符号位。
2009-08-15 13:55:00 982
转载 原码、反码和补码
在计算机内,定点数有3种表示法:原码、反码和补码所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。 反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。1、原码、反码和补码的表示方法(1) 原码:在数值前
2009-08-15 13:53:00 1256
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人