C++lambda表达式简单笔记
lambda表达式语法
#include <iostream>
int main(int argc, char* argv[])
{
/**
* 1. 基本形式与语法
*/
//如果没有传入参数,参数列表可以省略
auto lambda1 = []() { std::cout << "Hello, World !" << std::endl; };
auto lambda2 = [](int x, int y) -> int //返回参数可使用尾置返回语法
{
if (x > y ...
奶奶都能看懂的 C++ —— 手把手指针
引用
在正式介绍指针之前,先来看看什么是引用。
int a = 10;
int &ref1 = a;
你可能注意到了,上面的代码里有个 &。这就是我们的主角,引用。在变量名之前加上该符号,就可以指出它是个引用。
我们常说的引用,就是把别人的东西拿过来自己用。C++ 的引用也是如此,就是把另外一个对象拿过来用,然后起个名字。也就是说:
...
[fastgrind] 一个轻量级C++内存监控及可视化开源库
目录Fastgrind引言简介仓库结构快速开始编译 testcase运行 testcase调用堆栈 Report如何在你的项目中使用手动插桩的使用方法自动插桩的使用方法fastgrind 输出与分析fastgrind.textfastgrind.json可视化fastgrind 编译选项手动插桩的编译选项编译选项:链接选项:自动插桩的编译选项编译选项:链接选项:限制和注意事项原作者
F ...
ZOJ 1004. Anagrams by Stack 解题报告
题目链接:《1004: Anagrams by Stack》。
为了防止题目链接失效,将题目原文复制如下:
1004. Anagrams by Stack
作者: ZOJ 出题组;
单位: zoj;
How can anagrams result from sequences of stack operations? There are two sequences of stack operators which can convert TROT to TORT:
[
i i i i o o o o ...
FFmpeg开发笔记(八十二)使用国产直播服务器smart_rtmpd执行推流操作
《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2.2 FFmpeg向网络推流”介绍了轻量级流媒体服务器MediaMTX,通过该工具可以测试RTSP/RTMP等流媒体协议的推拉流。不过MediaMTX的功能比较简单,也不方便个性化定制,如今出现了国产的直播服务器smart_rtpmd,更适合日常开发调试使用。
smart_rtpmd是一款用于直 ...
来追梦-D1295 小F过河
前言
依旧是固定的前言。
拿下了第四名,和第三名同分结果提交次数多了。
发现第三名是我的同学并且比我弱之后大胆猜测他使用的奇怪的方法。
结果看了他T3的代码,的确如此,他居然转移的时候只转移前面和后面的 \(500\) 个,然后数据太水过了。
显然是在模仿CCF,数据也太好了(确信。
话不多说,我的得分情况:90+100+20+ ...
FFmpeg开发笔记(八十一)FFmpeg代码对RTSP和RTMP的推流区别
《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2.2 FFmpeg向网络推流”介绍了如何使用FFmpeg代码向网络推送视频流,当时的例程采用了RTSP方式推流,在向RTSP地址时推流是正常的,但向RTMP地址推流时出现了问题,下面就介绍了如何使用FFmpeg代码向RTMP地址推送视频流。
一、FFmpeg推流环境的区别
首先注意RTSP ...
焦糖饼干头文件c++最新同步
\(\color{green}正在更新\)
windos-2.0
点击查看代码
#define _WIN32_WINNT 0x0601
//#pragma cpp_std c++11
//你可以换成指令: -std=gnu++11
#include <bits/stdc++.h>
#include <Windows.h>
#include <string>
#include <algorithm>
#include <stdexcept>
#include <cctype>
#include <mutex>
#include <fstream>
#incl ...
纯 C++ 开发的 Telegram Bot 框架
时隔许久我终于又把这个小时候的账号想起来了,最近我搞了一个开源项目 基于 C++ 开发的 Telegram Bot 框架。
本项目是一个为 C++ 开发者设计的电报 (Telegram) 机器人框架,旨在解决原生 API 开发的复杂性。通过高度模块化的插件系统,您无需再关心底层的网络通信和 API 交互,只需专注于实现具体功能的插件,即可快速构建 ...
【Clion】【文件编码】Clion内置控制台中文字体乱码的解决方案及编码格式调整
1. 问题描述
在使用Clion时,在保证文件编码,项目编码,属性文件的默认编码等均为UTF-8的情况下,当代码输出中存在中文字符时,内置控制台显示的输出为乱码。
2. 尝试解决方案
在CLion中解决内置控制台乱码问题,主要需要统一项目编码、控制台编码和系统环境编码。以下是具体步骤:
2.1 第一次尝试解决
1. 检查并设置项 ...
B4375 [蓝桥杯青少年组省赛 2025] 庆典队列&&B4376 [蓝桥杯青少年组省赛 2025] 茶具套装&&B4377 [蓝桥杯青少年组省赛 2025] 平衡奇偶位置的字符交换
好久不见,最近参加了蓝桥的省赛,虽然只是省二,但是还是要总结一下
今儿个三合一,前三道
1.B4375 [蓝桥杯青少年组省赛 2025] 庆典队列
题目描述
有 \(n\) 名志愿者参加了一场庆典活动,我们希望将这些人排成一个矩形队列,要求队列共有 \(A\) 行,且每一行的人数都要相等。
请计算每一行最多有多少名志愿者。
注意:不一 ...
MQTT协议
//请求连接
void mqtt_connect(char *clientid,char *username,char *passwd)
{
uint32_t clientid_len = strlen(clientid);
uint32_t username_len = strlen(username);
uint32_t passwd_len = strlen(passwd);
//用于存储剩余长度 = 可变包头+有效载荷(客户端id+2+用户名+2+密码+2);
uint32_t remain_len = 10 + ( ...
一生一芯中有趣的C语言宏:LIST_FOREACH 链表遍历宏
记录了学习 “一生一芯” 时(更确切地说是学习 “Learn C The Hard Way” 时)遇到的 LIST_FOREACH 链表遍历宏。该宏的精髓在于使用 V 和 _node 双指针机制,以确保即使在复杂场景下(如用户误改指针),循环的健壮性和遍历的正确性也不会被破坏。
LIST_FOREACH的定义
#define LIST_FOREACH(L, S, M, V) ListNode *_nod ...
免费无广告!这款开源工具让文件转换像复制粘贴一样简单!
大家好,我是 Java陈序员。
之前,给大家介绍一款格式转换全能王,支持超过一千多种的文件格式转换。
格式转换全能王!一个开源自托管的文件转换神器!
今天,再给大家介绍一款 Windows 文件转换工具,直接右键转换,像复制粘贴一样!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电 ...
基于 IOCP 的协程调度器——零基础深入浅出 C++20 协程
前言
上一篇《基于 epoll 的协程调度器》谈到如何基于 epoll 构建一个事件驱动的协程调度器,没有使用三方库的原因主要是为了避免引入额外复杂度,不过只演示 Linux 未免对非 Unix 平台的小伙伴有所不公,为此本文基于 Windows 的完成端口 (IO Completion Port:IOCP) 构建相同能力的 demo。
文章仍然遵守之前的创作原则:
...
【C/C++】类与结构体的区别
1. 引言
在C++中,class(类)和struct(结构体)是两种常用的自定义数据类型。很多初学者会疑惑:既然两者功能相似,为什么C++要同时保留它们?本文将从技术和用法两个角度进行对比。
2. 技术上
实际上类与结构体在技术层面除了可见性并没有区别,唯一值得一提的区别就是:
class类默认情况下其中的变量、函数都为private ...
C++ 模板参数推导问题小记(模板类的模板构造函数)
本篇主要是为了记录在编写一个模板类的模板构造函数中遇到的初始化问题,以及针对这个问题展开的相关知识整理,文章就以引发这个问题的代码为标题了。
问题代码
在编写一个代表空间点的模板类 point 时,我打算为它添加一个模板构造函数:
代码
template<typename T, std::size_t N>
struct point
{
using value_type ...
手把手教你实现C++高性能内存池,相比 malloc 性能提升7倍!
大家好,我是小康。
写在前面
你知道吗?在高并发场景下,频繁的malloc和free操作就像是程序的"阿喀琉斯之踵",轻则拖慢系统响应,重则直接把服务器拖垮。
最近我从0到1实现了一个高性能内存池,经过严格的压测验证,在8B到2048B的分配释放场景下,性能相比传统的malloc/free平均快了4.5倍!今天就来给大家分享这个实现过程 ...
Qt-摄像头捕获画面
在qt中捕获摄像头画面,在ui界面上添加一个comboBox控件、label标签和两个pushButton按钮,comboBox用于显示摄像头的设备,按钮用于开启摄像头和捕获当前帧的画面,label用于显示摄像头捕获的画面。
//需要在.pro文件中加上multimedia multimediawidgets
QT += core gui multimedia multimediawidgets
//mainwindow ...
Qt-捕获摄像头画面
在qt中捕获摄像头画面,在ui界面上添加一个comboBox控件、label标签和一个pushButton按钮,comboBox用于显示摄像头的设备,按钮用于开启摄像头,label用于显示摄像头捕获的画面。
//需要在.pro文件中加上multimedia multimediawidgets
QT += core gui multimedia multimediawidgets
//mainwindow.cpp
#include "mai ...