vector的含义
数学中,vector(向量)表示一个量,由大小和方向构成。比如坐标中的一个带箭头的线段 -- 它1厘米长,正弦值六分之一π(30度角)。
计算机的c++、java中,vector表示一种一维的数组。比如,一个命名为"fibonacci"的vector,它用来存储斐波那契数列,会是这样的:
fibonacci[0] = 0, fibonacci[1] = 1, fibonacci[2] = 1, fibonacci[3] = 2, fibonacci[4] = 3, fibonacci[5] = 5
那vector是不是array的马甲呢。vector类似array,但不是array。vectors拥有自己的内存管理机制,array却在编程语言写死了,比如一个stack。vectors都拥有一个额外的动态结构,比如一个heap。array是固定大小的,vector在插入数据的时候可以变大,在删除数据的时候可以变小,这都是自动的。
在密码学中,vector表示提供给加密算法的种子,为什么叫vector而不叫种子的原因。我想可能是vector这个词够屌,如果也叫它种子的话,那么密码学的存在感在哪里呢。是的,当你听到vector这个词的时候,那是一种带有方向的量,如梦似幻,仿佛看到一个美女翱翔在天际。
计算机的机器中,vector表示一个内存区域,在这个区域中,存放着所有中断处理例程构成的表格。在操作系统中,它被称作中断向量表。注意:矛盾在这里产生了,因为vector的意思在这里不是向量,它是一个多义词,它的意思就是vector,你可以理解成内存,但是不要理解成向量。
由此看来,vector显然是一个多义词。并且在计算机学科中,不能把它联想成向量。或许计算机设计人员实在想不到更好的词来描述它,最后还是选了它,不过我真的不喜欢这个词。
为什么会混乱呢?
深层的原因,是人类的虚伪、自私和狡诈造成的,试想我发明了一个学科,我怎么可能还使用那些以前“陈旧”的,“注定被历史淘汰”的词语来表达我的学说呢。周末我去拍婚纱照,销售人员似乎发明了一门复杂的学科,名词有:多低精选(就是从底片中选几张),入册,内景,外景,妆面,摄影基地,底片翻倍,总监级摄影师。规则更是数不胜数,底片多一张加80,相片多一张加200。其他一些风花雪月的套餐更是不得了,首尔风情,巴黎之恋。。。影楼的销售冠军年销售额突破8000万,成了成功人士。他的理念就是不停的创新。他说的创新是摄影的创新吗,不是。是规则的创新,是穿我家额外的高跟鞋要加多少钱,用我家更好的化妆水要加多少钱 -- 类似的创新。
表层的原因,是语言的隔阂。难道不知道英语一次多义吗。教科书中都把它翻译成向量,真是误人。
vector的含义的更多相关文章
- vector定义初始化
头文件 #include<vector> using std::vector; vector<T> v1; vector<T> v2(v1); vector< ...
- 把《c++ primer》读薄(3-2 标准库vector容器+迭代器初探)
督促读书,总结精华,提炼笔记,抛砖引玉,有不合适的地方,欢迎留言指正. 标准库vector类型初探,同一种类型的对象的集合(类似数组),是一个类模版而不是数据类型,学名容器,负责管理 和 存储的元素 ...
- C++箴言:理解typename的两个含义
C++箴言:理解typename的两个含义 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同? template<class ...
- C++中vector的用法
C++内置的数组支持容器的机制,但是它不支持容器抽象的语义.要解决此问题我们自己实现这样的类.在标准C++中,用容器向量(vector)实现.容器向量也是一个类模板.标准库vector类型使用需要的头 ...
- vector初始化
对vector对象来说,直接初始化的方式适用于3种情况:1.初始值已知且数量少:2.初始值是另一个vector对象的副本:3.所有元素的初始值都一样.此外还有一种更常见的情况是4.创建一个vector ...
- C++中的vector
opencv中用到了很多vector 整理一下 vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象).vector对象可以在运行时高效地添加元素,并且vector中元素是连续存 ...
- 斯坦福第十二课:支持向量机(Support Vector Machines)
12.1 优化目标 12.2 大边界的直观理解 12.3 数学背后的大边界分类(可选) 12.4 核函数 1 12.5 核函数 2 12.6 使用支持向量机 12.1 优化目标 到目前为 ...
- C++ 标准库类型-String,Vector and Bitset
<C++ Primer 4th>读书摘要 最重要的标准库类型是 string 和 vector,它们分别定义了大小可变的字符串和集合.这些标准库类型是语言组成部分中更基本的那些数据类型(如 ...
- One Class SVM, SVDD(Support Vector Domain Description)(转)
今天给大家介绍一下one class classification以及用SVDD(support vector domain description)做one class classification ...
随机推荐
- Android开发手记(21) 遍历文件夹
我们在遍历文件夹的时候由于涉及到SD卡相关操作,所以我们需要添加如下权限: <uses-permission android:name="android.permission.WRIT ...
- sql - 面试
一,关于 group by 表内容: 2005-05-09 胜 2005-05-09 胜 2005-05-09 负 2005-05-09 负 2005-05-10 胜 2005-05-10 负 200 ...
- Python sys.path.append
python sys.path.append 对于模块和自己写的程序不在同一个目录下,可以把模块的路径通过sys.path.append(路径)添加到程序中. 在程序开头加上: import syss ...
- Xcode工程添加第三方文件的详细分析 Create folder references for any added folders
在开发iOS项目的时候需要导入第三方的库文件,但是通过Xcode导入第三方源文件的时候会提示一些信息,不知所以然. 现在看到的文档都是针对Xcode3的,针对Xcode4的说明很少,现在分享出来. 官 ...
- `~!$^*()[]{}\|;:'",<>/?在英文怎么读?
`~!$^*()[]{}\|;:'",<>/?在英文怎么读? 'exclam'='!' 'at'='@' 'numbersign'='#' 'dollar'='$' 'perce ...
- 绘图时,根据size()和自定义rect编程的区别
在绘图的时候,很多时候编写的代码需要根据当前窗口自身的size来进行绘制,这个时候可以添加一个额外的中间rect来做过度,这样以后的绘图机制不会 随着size的变化而不断变化.你的处理逻辑可以保持不变 ...
- Android学习----五大布局
1.LinearLayout 线性布局 android:orientation="horizontal" 制定线性布局的排列方式 水平 horizontal 垂直 vertical ...
- Thinkphp Ajax传地址
在使用文本编辑器时,如果加入图片,涉及到图片的src,需要用到Ajax传地址到处理页面. 在使用Ajax的过程中,如果要通过JSON传递路径值到处理页面,会出现传值不正确. 解决方法就是在传值之前将路 ...
- nginx 伪静态大于10个参数 $10
伪静态大于10个参数 会解析成 $1 与 0 参考:http://zhidao.baidu.com/link?url=kT2tp8ARhIZsrt4XF3LdzjkEq0QTIbvhOj9Ck ...
- STM32学习笔记——新建工程模板步骤(向原子哥学习)
1. 在创建工程之前,先在电脑的某个目录下面建立一个文件夹,我们先把它命名为Template,后面建立的工程可以放在这个文件夹下.在 Template 工程目录下面,新建 3 个文件夹USER , ...