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

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.dtcms.com/a/63492.html

相关文章:

  • 【C51】24小时制的电子钟,数码管显示格式为时-分-秒
  • 探秘 CSS 盒子模型:构建网页布局的基石
  • 跟踪napi_gro_receive_entry时IP头信息缺失的分析
  • leetcode153 寻找旋转排序数组中的最小值 思考过程
  • BambuStudio学习笔记:MultiMaterialSegmentation
  • Docker 入门与实战指南
  • 视频推拉流:EasyDSS平台直播通道重连转推失败原因排查与解决
  • Python 逆向工程:2025 年能破解什么?
  • 云上特权凭证攻防启示录:从根账号AK泄露到安全体系升级的深度实践
  • 扫雷小游戏
  • 汇川EASY系列之以太网通讯(套接字socket做主站)
  • 蓝桥杯javaB组备战第二天 题目 区间次方和 编号3382
  • Linux中grep指令
  • yum修改阿里云
  • 致远互联FE协作办公平台 存在SQL注入漏洞(DVB-2025-8942)
  • WHAT - 前端性能监控和错误追踪(Sentry 篇)
  • 爬取动态数据,爬取持久化数据
  • docker-compose Install m3e(fastgpt扩展) GPU模式
  • 官宣 | Fluss 0.6 发布公告
  • Vue 实现AI对话和AI绘图(AIGC)人工智能
  • redux_旧版本
  • Matlab 多项式拟合点法线(二维)
  • 【每日学点HarmonyOS Next知识】防止重复点击、对话框收拾拦截、自定义键盘焦点、页面层级、自定义对话框创建
  • mysql-8.0.41-winx64 手动安装详细教程(2025版)
  • 【 <一> 炼丹初探:JavaWeb 的起源与基础】之 Tomcat 的工作原理:从启动到请求处理的流程
  • c#面试题12
  • MySQL中有哪些索引
  • 存储优化(protobuf与mmkv)
  • RPC服务调用深度解析:从原理到Java实践
  • 面试之《TypeScript泛型》