当前位置: 首页 > 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常量分配空间,但不会使用其存储空间中的值。

相关文章:

  • 【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)人工智能
  • 企业管理控制系统/百度seo查询系统
  • 桂林房产/东莞百度seo哪里强
  • 企业网站怎做/百度电话号码查询
  • 北京建设工程交易网/seo网站推广优化论文
  • 西安公司网站建设哪家专业/手机网站模板建站
  • 如何做物流网站/seo怎么做新手入门