C++面试知识总结一答案

1.const与define
const 常量,不可改变
define 宏定义,替换
const在执行预处理语句之后仍然存在,而define只在当前定义的代码处有效。
const变量类型是确定的,编译器能够检查使用它们的方式是否正确。另外,经过预处理期处理后,它们仍然存在,因此可以在调试器中使用它们的名称。最重要的是C++标准不再支持使用define来声明常量。
2.
纯虚函数用于实现抽象类
纯虚函数有方法名无方法实现
析构函数常声明为虚函数形式
构造函数不可以是虚函数
虚函数比普通函数运行阶段开销多(表现在程序大小和性能两个方面)
3.
static修饰的内容比main先执行。
4.
多重继承问题。
5.
内存管理中堆和栈。

6.extern相关问题。
extern声明不是定义,也不会分配存储空间。它只是说明变量定义在程序的其他地方。

7.指针函数、函数指针。
指针函数: 本质是一个函数。返回指针的函数。
函数指针:本质是一个指针。指向函数的指针。
8.不同类型所占字节数。
整型 4字节 int
无符号整型 4字节 unsigned int
短整型 2字节 short int
无符号短整型 2字节 unsigned short int
长整型 4字节 long int
无符号长整型 4字节 unsigned long int
字符型 1字节 signed char
无符号字符型 1字节 unsigned char
单精度型 4字节 float
双精度型 8字节 double
长双精度型 8字节 long double

9.手写快排、深度优先搜索代码。

10.静态方法内不可以调用非静态方法原因?
非static方法需要与对象关联在一起,必须创建一个对象后,才可以在该对象上进行方法调用;而static方法调用时不需要创建对象,可以直接调用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值