当前位置: 首页 > article >正文

C++ 基础2

STL中有哪些容器

顺序性容器(vector deque list),关联容器(map、set)、容器适配器(queue,stack)

C++中delete和delete[]的区别

使用new来分配单个对象的内存,就使用delete来释放;使用new[]来分配数组对象的内存,就使用delete[]来释放,释放内存之后,同时也要将指针设置为NULL,避免出现野指针。

STL由哪六部分构成

容器、算法、迭代器、函数对象、适配器、内存分配器

面相对象的三大特性

封装、继承、多态

基类析构为什么要设置为虚函数

当一个对象通过基类指针或引用进行删除时,如果基类的析构函数不是虚函数,可能导致派生类对象的析构函数不会被调用,从而引起资源泄漏或行为未定义的情况。

lambda表达式的理解,它可以捕获哪些类型

Lambda表达式是C++11引入的一个很重要的特性,它是一个可调用对象,定义了一个匿名函数,并且可以捕获一定范围内的变量。
lambda表达式通过这个捕获列表来捕获一定范围内的变量:
(1)[ ]:不捕获任何变量
(2)[&]:按引用捕获
(3)[=]:按值捕获

C语言中const与C++中const的区别

C语言中的const:
1.const修饰的变量是只读的,本质还是变量
2.const 修饰的局部变量在栈上分配空间
3.const修饰的全局变量在只读存储区分配空间
4.const只在编译期有用,在运行期无用
5.C语言中的const使得变量具有只读属性
6.const将具有全局生命周期的变量存储于只读存储区
7.const修饰的变量不是真的常量,它只是告诉编译器该变量不能出现在赋值符号的左边。
C++在C的基础上对const进行了进化处理
1.const声明变量时在符号表中放入常量
2.编译过程中若发现使用常量则直接以符号表中的值替换
3.编译过程中若发现下述情况则给对应的常量分配存储空间
(1)对const常量使用了extern
(2)对const常量使用&操作符
4.C++编译器虽然可能为const常量分配空间,但不会使用其存储空间中的值。


http://www.kler.cn/a/579671.html

相关文章:

  • Linux之kernel(1)系统基础理论(6)
  • 中国信通院安全所青藤云安全联合牵头:容器安全评价新标准正式发布
  • Axure设计之数据列表动态列设置/列筛选案例
  • 9宫格拼图
  • 使用AI一步一步实现若依前端(4)
  • 病毒分类分配管道(VITAP)
  • Java【多线程】(3)单例模式与线程安全
  • Python自动点击器开发教程 - 支持键盘连按和鼠标连点
  • 单体架构、微服务组件与解决方案、微服务面试
  • CentOS缺少宋体和黑体字体
  • 如何用更少的内存训练你的PyTorch模型?深度学习GPU内存优化策略总结
  • DC3-靶机练习
  • Javaweb后端文件上传@value注解
  • 【Java---数据结构】二叉树(Tree)
  • NetBeans 8.2 开发 CIFLog3.5 - 数据导入导出案例
  • 220页满分PPT | 华为ISC供应链解决方案
  • 【新闻资讯】IT 行业最新动向:AI 引领变革,多领域融合加速
  • 【从零开始学习计算机科学】计算机体系结构(一)计算机体系结构、指令、指令集(ISA)与量化评估
  • 不同开发语言对字符串的操作
  • 一文理清概念:数据中台(DMP)-数据仓库(DW)-数据湖(DL)-湖仓一体-数据治理(DG)