Strongly-typed enums 强类型枚举传统的C++枚举类型存在一些缺陷:它们会将枚举常量暴露在外层作用域中(这可能导致名字冲突,如果同一个作用域中存在两个不同的枚举类型,但是具有相同的枚举常量就会冲突),而且它们会被隐式转换为整形,无法拥有特定的用户定义类型。在C++11中通过引入了一个称为强类型枚举的新类型,修正了这种情况。强类型枚举由关键字 …
技术教程
栈(stack):是限定仅在表尾进行插入和删除操作的线性表。1.如何理解”栈“?1.1.栈(stack)是一种线性存储结构,它具有如下特点:栈中的数据元素遵守“先进后出"(First In Last Out)的原则,简称FILO结构.限定只能在栈顶进行插入和删除操作。1.2.其他概念:栈顶与栈底:允许元素插入与删除的一端称为栈顶(top),另一端称为 …
1.重载函数是否能够通过函数返回值的类型不同来区分?不可以。因为在C++编程中,函数的返回值可以忽略(不使用其返回值),程序中调用此时函数名相同和参数相同的两个函数对编译器和程序员来说是没有办法区分的,编译器会提示出错。2.C++多态机制的实现(1)重载:同一个类中同一个函数的不同实现,必须保证函数参数不同(类型,个数,顺序),本质上与多态无关。使用重载函数 …
来自公众号:高效程序员Breakpad 是 Google 用 C++ 编写的一个开源、跨平台的崩溃报告系统,它支持 Windows、Linux 和 macOS,并提供了一个上传器,可以在进程崩溃时向一个配置好的 URL 提交 minidump 文件。目前,有很多大型项目都在使用 Breakpad,例如:Google Chrome、Firefox、Googl …
一、C和C++进程内存区域划分面试时经常遇到一个问题,进程内存空间有几部分?或者说程序运行时内存区域可分成几个部分。而且会进一步问C和C++程序的运行时内存区域划分有什么不同?作为一个C++程序员,懂一些这个其实是有好处的。如果要搞安全方向的开发,更需要对此理解比较深刻。一般来说C和C++会将进程的内存空间划分为以下几个部分:1、代码段(.text)这部分 …
以下是一份面向初学者的C++标准模板库(STL)系统入门教程,结合核心组件与实战案例:一、STL基础概念STL(Standard Template Library)是C++标准库的核心组成部分,基于泛型编程思想,提供容器、算法、迭代器三大核心模块。其特点:o 高效性:容器与算法经过性能优化o 泛用性:通过模板支持任意数据类型o 可扩展性:支持自定义容器和算法 …
C++中的stack实现一种先进后出的数据结构,是一个模板类.头文件 #include<stack>用法(以int型为例):stack <int> s; 定义一个int型栈s.empty();返回栈是否为空s.size();返回当前栈中元素的个数s.push(); 在栈顶上堆进一个元素s.pop();删除掉栈顶上的元 …
在C++开发中,许多开发者习惯用new将对象一股脑丢到堆上,却忽视了栈帧(Stack Frame)分配的惊人效率。栈帧通过调整栈指针实现内存管理,仅需1-2条CPU指令,而堆分配涉及内存块查找、分裂和合并,两者性能差距可达纳秒级。本文将深入解析栈帧的底层机制、性能优势、编译器优化及实战注意事项,帮你写出更高效的C++代码。栈帧:函数调用的“时空胶囊”囊”栈帧 …
1 搭建Linux服务器1.1 购买阿里云服务器或安装虚拟机这里建议是CentOS 7.X或CentOS 8.X,当然其他的Linux如deepin、Ubuntu也可以,只是软件环境的安装包和安装方式不同,跑项目都是差不多的1.2 安装JDK1.8(CentOS 8为例)下载JDK安装包:https:www.oracle.comjavatechnologie …
Promtail 介绍Promtail 是由 Grafana Labs 开发的日志收集代理,主要用于从本地系统或容器中采集日志,并将其发送到 Loki 或兼容 Loki 协议的系统,本次为对接到观测云。观测云观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工 …
