C++ 41-60

发布时间 2023-06-20 22:34:00作者: 无形深空

? 41 有几种 new

plain new

nothrow new 不抛异常而是返回nullptr

placement new 已经分配内存, 调用构造

? 42 C++的异常处理的方法

异常, 比如: 数组下标越界, 除数为0, 动态分配空间时空间不足

要及时对这些异常进行处理, 否则程序很可能报错

(1)try, throw, catch 关键字


try{
  if(抛出异常的条件)  throw - 1
}
catch(刚才抛出的异常){
  进行异常的处理
}

(2)函数异常声明列表

知道整个函数里面可能会发生什么异常

int function() throw(int,double,A,B))

代码里面没跑通(不允许动态异常规范?什么东西)

(3)C++ 标准异常类 exception

image

? 43 static的用法和作用?

1 最重要: 隐藏

同时编译多个文件时, 加上static的全局变量不具有全局可见性

2 保持持久

处于静态数据区的变量在程序开始运行时候就进行了初始化. static变量和全局变量都处于静态数据区; 区别

3 默认 0

4 类成员??

? 56 malloc与free的实现原理?

底层是一些系统调用

// 以前老师让学这些原理, 以为是害了自己, 总想赶紧学点技术