在前一篇,我们提供了一个方向性的指南,但是学什么,怎么学却没有详细展开。本篇将在前文的基础上,着重介绍下怎样学习C++的类型系统。
写在前面
在进入类型系统之前,我们应该先达成一项共识——尽可能使用C++的现代语法。众所周知,出于兼容性的考虑,C++中很多语法都是合法的。但是随着新版本的推出,
在某些时候我们的系统中会出现一些无法被正常删除的文件,如果想要强制删除则需要在驱动层面对其进行解锁后才可删掉,而所谓的解锁其实就是释放掉文件描述符(句柄表)占用,文件解锁的核心原理是通过调用ObSetHandleAttributes函数将特定句柄设置为可关闭状态,然后在调用ZwClose将其文件关
某日二师兄参加XXX科技公司的C++工程师开发岗位第14面:
面试官:在C++中,有哪些可执行体?
二师兄:可执行体?
面试官:也就是可调用对象。
二师兄:让我想一想。函数、函数指针、类的静态方法、类的成员方法、仿函数、lambda表达式。
面试官:能说一说他们之间有什么区别吗?
二师兄:好的。
说明
使用 QCustomPlot 绘图库辅助开发时整理的学习笔记。同系列文章目录可见 《绘图库 QCustomPlot 学习笔记》目录。本篇介绍 QCustomPlot 帮助文档的配置。
目录说明1. 在线帮助文档2. 离线帮助文档下载2.1 HTML 版的离线帮助文档2.2 QCH 版本的离线
某日二师兄参加XXX科技公司的C++工程师开发岗位第15面:
面试官:了解auto关键字吗?
二师兄:嗯,了解一些(我很熟悉)。
面试官:说一说auto的用法吧?
二师兄:auto主要是为了编译器进行类型推导。比如:
auto i = 42; //i 被推导位int型
std::vector&
导航
火线告警,CPU飚了
版本回退,迅速救火
猜测:分布式锁是罪魁祸首
代码重构,星夜上线
防患未然,功能可开关
高度戒备,应对早高峰
实时调整方案,稳了
结语
参考
本文首发于智客工坊-《记一次加锁导致ECS服务器CPU飙高分析》,感谢您的阅读,预计阅读时长3min。
每一次版本的上线都应该
某日二师兄参加XXX科技公司的C++工程师开发岗位第16面:
面试官:什么是左值,什么是右值?
二师兄:简单来说,左值就是可以使用&符号取地址的值,而右值一般不可以使用&符号取地址。
int a = 42; //a是左值,可以&a
int* p = &a;
in
C++ 里面有一些惯用法(idioms),如 RAII,PIMPL,copy-swap、CRTP、SFINAE 等。今天要说的是 PIMPL,即 Pointer To Implementation,指向实现的指针。
问题描述
在实际的项目中,经常需要定义和第三方/供应商的 C++ 接口。假如有这样
某日二师兄参加XXX科技公司的C++工程师开发岗位第17面:
面试官:聊一聊指针?
二师兄:好的。
面试官:你觉得指针本质上是什么?
二师兄:这要从内存地址开始说起了。如果有一块容量是1G的内存,假设它的地址是从0x00000000 到0x3fffffff,每一个字节都对应一个地址。当我们声明一
本篇笔记主要用于记录如何利用C++在虚幻引擎5中实现一些基本的功能需求。
目录实现功能与代码构造函数中添加物体运行时添加C++ Actor运行时设置动态材质及参数蓝图调用C++函数蓝图访问C++成员C++调用用户控件蓝图函数播放wav格式音效
实现功能与代码
以下代码均来自我的跳棋小游戏,所以默认
前言
CMake是一个构建工具,通过它可以很容易创建跨平台的项目。通常使用它构建项目要分两步,通过源代码生成工程文件,通过工程文件构建目标产物(可能是动态库,静态库,也可能是可执行程序)。使用CMake的一个主要优势是在多平台或者多人协作的项目中,开发人员可以根据自己的喜好来使选择IDE,不用受其
总结自《Effective Modern C++》第 4 章
裸指针七宗罪
裸指针无法说明指向的是单个对象还是一个数组
裸指针无法说明使用完指针是否需要析构,即从声明中看不出来指针是否拥有所指向的对象
即使知道需要析构,也不知道应该用 delete 还是调用某个类似 deinit(p) 的函数
即
说明
使用 QCustomPlot 绘图库辅助开发时整理的学习笔记。同系列文章目录可见 《绘图库 QCustomPlot 学习笔记》目录。本篇介绍 QCustomPlot 的一种使用方法,通过动态库的方式进行使用,示例中使用的 QCustomPlot 版本为 Version 2.1.1。
目录说明
2023/6/18
本篇章记录学习过程C++的基础概念和代码测试实现,还有很多需要补充。一是还不清楚,二是还没有学到。打算学习过程中后面再做补充。先看完《C++primer 》书之后再慢慢来添加补充
1.函数重载
一个函数名可以实现多个功能,这取决于函数参数不同来实现判断对应的功能,与返回值无
描述
给定一个非负整数数组,统计里面每一个数的出现次数。我们只统计到数组里最大的数。
假设 Fmax (Fmax < 10000)是数组里最大的数,那么我们只统计 {0,1,2.....Fmax} 里每个数出现的次数。
输入
第一行n是数组的大小。1 <= n <= 10000。
某日二师兄参加XXX科技公司的C++工程师开发岗位第18面:
面试官:std::string用过吧?
二师兄:当然用过(废话,C++程序员就没有没用过std::string的)。
面试官:std::string("hello")+"world"、"hello"+std::string("worl
说明
使用 QCustomPlot 绘图库辅助开发时整理的学习笔记。同系列文章目录可见 《绘图库 QCustomPlot 学习笔记》目录。本篇介绍 QCustomPlot 的一种使用方法,通过包含源码的方式进行使用,这也是最常用的方法,示例中使用的 QCustomPlot 版本为 Version
一、绪论
1.1 基本概念
加速比:表示加速效果。单个处理器运行花费时间 / P个处理器运行花费时间;(S=frac{T(1)}{T(p)})
效率:(E = frac{S}{p} = frac{T(1)}{T(p)times p})
开销:(C=T(p)times p)
可扩展性:处理器数目增多
vscode c/c++ MinGW/MSYS2 配置 | 解决中文乱码/找不到dll问题(不设置环境变量)
本文主要是在不设置环境变量的情况下配置vscode并解决常见问题
MinGW/MSYS2 安装
MSYS2 是一个类似于Linux的shell环境,可以在Windows上使用pacman安
命令行添加镜像地址
首次安装后,配置软件源
#https://mirrors.tuna.tsinghua.edu.cn/help/msys2/
sed -i "1iServer = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686" /e