就业数据资源平台
当前位置:首页 > 笔试题目
迅雷2010笔试题-深圳


C++方向。


 2009.9.12日上午 迅雷1笔试题

第一大题 15道单选题

1:int (*p)[3] p的含义是什么

2:699个结点的完全二叉树,有叶子节点多少个()

3: int,a=3,b=4,c=5,问下列哪些表达式的值不为0

   (考&& || 算符的优先级 & ^)

   eg a&&b&&c


        a-=3 || a++ || a--


        a&b&c


        a^b....

4:虚函数可不可以重载为内联?

5:关于vector<>初始化问题

     下面那个是非法的

     vector<string> sVec;


     vector<vector<int>> ivvec;


     vector<vector<string>> svvec( "hello" );

6:关于下列操作哪个复杂度为O(1)

   vector<>中插入元素, set中查找元素 hasp_map中查找元素 deque尾部删除元素

7:引用可不可以被重复修改,一个引用这次引用这个,下次引用那个,就像一个指针可以指向不同的地方一样

8:swap()的几种实现形式 swap(int* x, int* y) swap(int&x, int&y)等

9:关于移位运算,移位后,补进的位是0还是1?

     对于左移,无论算术左移(对应有符号数)还是逻辑左移(对应无符号数)都是补0

     对于右移,算术右移(对应有符号数)补进符号位,逻辑右移补0;


     也就是说,对于逻辑移位,左右移位都补0

                    对于算术移位,左移补0,右移补符号位。


     int a = -8;

00421D8E  mov         dword ptr [a],0FFFFFFF8h

 unsigned b = 8;

00421D95  mov         dword ptr [b],8

 a = a>>3;

00421D9C  mov         eax,dword ptr [a]

00421D9F  sar         eax,3   // a是有符号数,使用算术右移 sar, 结果a = -1;

00421DA2  mov         dword ptr [a],eax

 b = b>>3;

00421DA5  mov         eax,dword ptr [b]

00421DA8  shr         eax,3   // b是无符号数,使用逻辑右移 shr, 结果b = 1;

00421DAB  mov         dword ptr [b],eax


5: 关于考关于模板

class TA

{

public:

 TA(){ m_n = n; };

 unsigned m_n;

};

 unsigned n=3;TA<n> ta;  // 该语句对不对? 不对,因为模板参数是编译器就确定的 n是局部变量不可以做参数

 TA<3> ta;  // 该语句对不对?对。




6:靠关于虚函数 - 这里给的代码其实是设计模式中的(策略模式)

class B

就业数据资源平台