PPS校园招聘笔试真题(2)

招聘笔试题2018-11-22王新老师

  从内存分配上看:程序为指针变量分配内存区域,而引用不分配内存区域。指针:指向另一个内存空间的变量,我们可以通过它来索引另一个内存空间的内容,本身有自己的内存空间。

  (4)列出C++类型转换操作符,并分别举例。

  dynamic_cast: 在多态类型转换时使用,用来执行继承体系中"安全的向下转型或跨系转型动作",就是子类对象指针转化为父类对象指针。实现在运行时,并进行运行时检测,如果转换失败,返回值是NULL。

  static_cast:与dynamic_cast相反,static_cast是在编译时转换类型的,故称为static_cast,它可以用在值类型转换中

  const_cast:一般用于去除const, volatile等修饰属性上.

  reinterpret_cast:特意用于底层的强制转型,这个操作符能够在非相关的类型之间转换。操作结果只是简单的从一个指针到别的指针的值的二进制拷贝。在类型之间指向的内容不做任何类型的检查和转换。

  (5)写个简单的函数,用于判断CPU的字节序(little endian/big endian)

  [cpp] view plaincopy//若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1。

  int checkCPU(void)

  {

  union

  {

  int a;

  char b;

  }c;

  c.a = 1;

  return (c.b == 1);

  }

  (6)实现一个128位整数的类,并且完成后面的函数,测试一个数是否为素数。

  class int128

  {

  };

  bool isPrime(int128 & number)

  {

  ...

  }

  答:

  [cpp] view plaincopy#include

相关推荐

猜你喜欢

大家正在看

换一换