技术人员详解C++测试结果总结

开发 后端
本文向大家介绍C++测试,可能好多人还不了解C++测试,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

无论如何,现在可用的C++编译器实现已经很丰富了,在Windows平台上的实现就有若干种,比较常用的有Visual C++ 6.0附带的C++编译器实现,和Borland C++ Builder附带的C++测试实现。

简单地说,就是在右移正数时高位补0、右移负数时则高位补1,而无符号右移操作符>>>在右移时不考虑符号问题,即无论右移正数还是负数,其***位都是补0。无符号右移本质上是将被右移的数所有存储位都视为数据位,因此很容易想到,如果想在C++测试中实现无符号右移,可以先将拟进行无符号右移的数转换成无符号类型,然后执行普通右移就可以了。

以下是在VS2003中编写的验证代码:

  1. #include "stdafx.h"     
  2. #include "iostream"     
  3.     
  4. using namespace std;     
  5.     
  6. int _tmain(int argc, _TCHAR* argv[])     
  7. {     
  8.     int nOrg;     
  9.     cout << "被移位数:";     
  10.     cin >> nOrg;     
  11.     
  12.     cout << "有符号右移2位:"      
  13.          << (nOrg >> 2 )      
  14.          << endl;     
  15.     
  16.     unsigned int nuNum = (unsigned)nOrg;     
  17.     cout << "转换为无符号数:"      
  18.          << nuNum      
  19.          << endl;     
  20.     
  21.     cout << "无符号右移2位:"      
  22.          << (nuNum >> 2 )      
  23.          << endl;     
  24.     
  25.     
  26.     return 0;     
  27. }   

一旦我们认识了C++测试在一些领域是有需求的(值得学习和掌握的)这个问题之后,就可以接下来讨论“怎样正确学习和掌握C++”这个核心问题了。 其实,对于这个问题,Bjarne已经宣传了十年。早在99年的时候Bjarne就写了“Learning C++ as A New Language”,并在好几篇技术访谈(这里,这里,这里,还有这里)里面提到如何正确对待和使用C++中支持的多种抽象机制的问题。Andrew Koenig也写了一本现代C++教程《Accelerated C++》(这本书后面还会提到)。

然而这么多年来,C++社群的状况改善了吗?就我所知,就算有改善,也是很小的。学习者还是盲目钻语言细节,只见树木不见森林;网上还是弥漫着各种各样的“技术”文章和不靠谱的“学习C++测试的XX个建议”;一些业界的有身份的专家还是在一本接一本的出语言孔乙己的书(写一些普通程序员八辈子用不着的技巧和碰不着的角落);而业界真正使用C++的公司在面试的时候还总是问一些边边角角的细节问题。#t#

而不是考察编程的基本素养(不,掌握所有的语言细节也不能让你成为一个合格的程序员)。这个面试理念是错误的,估计其背后的推理应该是“如果这个家伙不知道这个细节,那么估计他对语言也熟悉不到哪儿去;而如果他知道,那么虽然他可能并不是好的程序员,但我们还是能够就后一个问题进一步测试的”,这个理念的问题在于,对语言熟悉到一定程度(什么程度后面会具体建议)就已经可以很好的编程了(剩下的只需查查文档);

而很多公司在C++测试“对语言熟悉程度”的时候走得明显太远了(比如,问临时对象生命期和析构顺序当然是无可厚非的,但问如何避免一个类被拷贝或者如何避免其构建在堆上?);当然,有些语言知识是必须要提前掌握的,具体有哪些后面会提到,面试的时候并非不能问语言细节,关键是“问哪些”。

责任编辑:chenqingxiang 来源: linux
相关推荐

2010-01-13 16:08:31

C++语言

2010-01-13 10:31:35

C++代码

2014-01-23 11:11:31

2012-09-20 09:31:41

技术技术人员技术开发

2017-09-14 17:12:58

2009-04-17 10:13:05

技术人员晋升职场

2009-12-25 14:17:36

ADO错误

2009-10-14 10:18:53

薪酬

2012-01-13 15:48:21

IT技术人员

2013-06-20 09:28:24

2013-08-06 15:16:27

技术人创业开发者创业移动互联网创业

2012-05-10 10:23:10

技术人员开发

2020-09-22 15:30:19

技术研发思维

2013-08-06 09:42:59

技术人员面试

2018-10-09 10:57:48

技术KPI考核

2013-09-30 10:16:32

博客技术人员

2011-05-07 15:08:21

2009-12-24 17:11:09

ADO与RDO

2010-08-09 17:08:13

IT技术人

2010-02-05 15:30:54

C++多线程测试
点赞
收藏

51CTO技术栈公众号