笔试汇总(4)
-
int*
- 指向int的指针 -
int const *
- 指向const int的指针 -
int * const
- const指向int的指针 -
int const * const
- const指向const int的指针 -
int **
- 指向int的指针 -
int ** const
- 指向int的指针的const指针 -
int * const *
- 指向int的const指针的指针 -
int const **
- 指向const int指针的指针 -
int * const * const
- 指向int的const指针的const指针
根据类型兼容规则,基类指针(或引用)可以指向其派生类的实例,但在非虚函数的情况下,通过基类指针(或引用)却只能调用基类的函数成员,无法调用其所指实例(派生类)的函数成员. 基类(父类)派生(子类)
1. vector的底层实现就是一个自动扩展的数组,如果元素本身无序,那么存储的时候也是无序的;
2. stack的底层实现就是一个限制输入输出位置的deque双端队列,所以stack里面的数据无序的时候,存储的时候也是无序的;
3. map和set的底层实现都是红黑树,红黑树是一种没那么严格的平衡二叉树(平衡二叉树肯定是排序二叉树),但是红黑树里面的元素肯定是有序的;
A.private修饰方法不能被重写,虚函数必须被重写.
B.局部变量不应该有访问修饰符.
C.实方法不能用abstract修饰.
Java虚拟机里提供了哪些调用字节指令:
invokestatic 静态方法
invokespecial 构造方法,private方法,父类方法.
invokevirtual,invokeinterface 调用重写的方法(动态单分派).
invokedynamic 动态类型语言,动态方法调用(lambda表达式)
Python3中 str为unicode字符(内部编码utf-16),byte无编码
编译程序目标代码生成阶段主要任务是:把中间代码(字节码)变换成依赖具体机器的目标代码
C语言函数调用时,通过堆栈传递参数
编译程序包括: