Java与C++编程的不同 - 编程入门网
后一个元素(操作后这个元素被从a中删掉), 使用函数size 可以得到当前a中的元素个数。
你还可以通过我们熟悉的[]操作符来访问向量中元素,例如:
同Java中一样,数组索引必须为 0 和 a.size() - 1之间的值。但是与Java不同的是,C++中没有runtime的索引号合法性检验。试图访问非法的索引位置可能造成非常严重的出错。 就像所有其它C++ 对象一样,向量也是值。如果你将一个向量赋值给另外一个向量变量,所有的元素都会被拷贝过去。 vector b = a; /* 所有的元素都被拷贝了 */ 对比Java中的情况,在Java中,一个数组变量是一个指向数组的reference.拷贝这个变量仅仅产生另外一个指向同一数组的reference,而不会拷贝每一个元素的值。 正因如此,如果一个C++函数要实现修改向量的值,必须使用reference参数:
Java与C++编程的不同(5)时间:2010-12-237.输入和输出 在C++中,标准的输入输出流用对象cin 和cout 表示。我们使用<< 操作符写输出,例如: cout << “Hello, World!”; 也可以连着输出多项内容,例如: cout << “The answer is ” << x << “\n”; 我们使用 >> 操作符来读入一个数字或单词,例如:
函数getline可以读入整行的输入,例如:
如果到达输入的结尾,或者一个数字无法被正确的读入,这个流对象会被设置为failed 状态,我们可以使用函数 fail 来检验这个状态,例如:
一旦一个流的状态被设为failed,我们是很难重置它的状态的,所以如果你的程序需要处理错误输入的情况,应该使用函数getline 然后人工处理得到的输入数据。 8.指针pointer 我们已经知道在C++中,对象变量直接存储的是对象的值。这是与Java不同的,在Java中对象变量存储的是一个地址,该地址指向对象值实际存储的地方。有时在C++中也需要实现这样的布置,这就用到了指针pointer.在C++中,一个指向对象的变量叫做指针。如果T是一种数据类型,则T* 是指向这种数据类型的指针。 就像Java中一样,一个指针变量可以被初始化为空值NULL,另外一个指针变量的值,或者一个调用new生成的新对象:
实际上在C++中还有第四种可能,那就是指针可以被初始化为另外一个对象的地址,这需要使用地址操作符&:
这实际上并不是什么好主意。保险的做法还是应该直接让指针指向使用 new生成的新对象。 到目前为止,C++ 指针看起来非常像Java 的对象变量。然而,这里有一个很重要的语法的不同。我们必须使用星号操作符 * 来访问指针指向的对象。如果 p 是一个指向Employee对象的指针,则 *p 才代表了这个对象:
Java与C++编程的不同(6)时间:2010-12-23当我们需要执行对象的函数或访问对象的一个数据域时,也需要使用 *p : (*p)。setSalary(91000); *p外面的括号是必需的,因为 .操作符比 * 操作符有更高的优先级。C的设计者觉得这种写法很难看,所以他们提供了另外一种替代的写法,使用 -> |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |