C++函数返回双值的几种方法
目录1.std::pair<double, double>2.QPair<double, double>3. 自定义结构体(struct)4.QPointF选择建议5.std::pair额外说明1. 显式调用std::pair构造函数(兼容所有C++版本)2. 使用std::make_pair(C++98+,简洁)3. C++17类模板实参推导(CTAD)4. 先创建对象再返回(兼容所有版本)总结在C++结合Qt的开发环境中,若要让 ...
0.libevent学习笔记,从阻塞式socket开始
本文看着这个链接去学的
https://libevent.org/libevent-book/
本文大量借助chatgpt,腾讯混元等网站,难免有错误,如果有问题欢迎提出,初衷仅为本人学习记录使用,我把我碰到的知识尽量记录下来,目前所有程序都是在windows上写的
Windows 上的socket API 和 Linux 的 socket API 非常相似,但并不完全一样。它们都基于 B ...
Qt-摄像头捕获画面
在qt中捕获摄像头画面,在ui界面上添加一个comboBox控件、label标签和两个pushButton按钮,comboBox用于显示摄像头的设备,按钮用于开启摄像头和捕获当前帧的画面,label用于显示摄像头捕获的画面。
//需要在.pro文件中加上multimedia multimediawidgets
QT += core gui multimedia multimediawidgets
//mainwindow ...
【C++】回调函数
前言
学习回调函数,回调函数是通过函数指针或对象调用的函数。
回调函数就是通过函数指针或对象调用的函数,只要能一个函数能够作为参数传入并调用,这个函数就是回调函数。
#include <iostream>
int addCallBack(int a,int b){//回调函数
std::cout <<a+b<<std::endl;
return 0;
}
int main(int argc, ...
VS Code C++ 环境配置及 HelloWorld 程序(保姆教程)
目录VS Code C++ 环境配置及 HelloWorld 程序一、环境配置(Windows/macOS/Linux)1. 安装必要软件2. 安装 VS Code 扩展二、第一个 HelloWorld 程序1. 创建项目目录结构2. 编写 HelloWorld 程序三、VS Code 配置文件1..vscode/c_cpp_properties.json2..vscode/tasks.json- 编译任务3..vscode/launch.json- 调试配置四、分平 ...
FFmpeg开发笔记(七十三)Windows给FFmpeg集成MPEG-5视频编解码器
MPEG-5是新一代的国际音视频编解码标准,像我们熟悉的MP3、MP4等音视频格式就来自于MPEG系列。MP3格式的说明介绍参见《FFmpeg开发实战:从零基础到短视频上线》一书的“5.2 MP3音频”,MP4格式的说明介绍参见《FFmpeg开发实战:从零基础到短视频上线》一书的“2.1.2 音视频文件的封装格式”。
MPEG-5现已开 ...
C语言逗号运算符和逗号表达式的使用小结
在C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接
其一般形式为:
表达式 1,表达式 2
1+1,2+2
其求值过程是分别求两个表达式的值,并以表达式 2 的值作为整个逗号表达式的值。
main(){
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d",y,x);
}
本例中,y 等于 ...
自动类型推导
c++11中添加了自动推导变量的类型auto,以及decltype表示函数的返回值。
auto
auto可以像别的语言一样自动推导出变量的实际类型。
在实际中,auto像是一个”占位符“,使用auto声明的变量必须要进行初始化,以让编译器推导出它的实际类型,在编译时将auto换成真正的类型。
语法:
auto 变量名 = 变量值
实际使用例子:
#in ...
poj1845 sumdiv 题解
poj1845 sumdiv 题解
Emmm...并非题解
其实是边想边写现编的
先审题:
考虑两个自然数 A 和 B。令 S 为$ A^B $的所有自然因子之和。确定 S 除以 9901 的余数.
eg. \(2^3 = 8\)。 8 的自然因子是:1、2、4、8。它们的和是 15。 15 除以 9901 的余数是 15(输出值)。
啊,好简洁的题面像我的大脑一样!
可以肯定的,\(A\) ...
基于C++的UDP网络通信系统设计与实现详解
目录前言一、UDP服务器UdpServer.hpp1.1 基本框架设计1.2 初始化函数Init详解1.3 关键系统调用详解1.4 服务器运行函数Run1.5 recvfrom和sendto函数深度解析1.6 高级功能:多线程处理和连接管理二、Main.cc实现三、UDP客户端UdpClient.cc3.1 基本框架设计3.2 创建套接字和连接3.3 发送和接收数据3.4 交互模式和性能测试四、 ...
C++ Two Phase Lookup导致的模板代码编译错误
猜猜下面这段代码的输出是什么:
template <typename T>
struct Base {
void DoThings() {
std::cout << "A\n";
}
};
template <typename T>
struct Derived: Base<T> {
void Do() {
DoThings();
}
};
int main() {
Derived<int> d;
d.Do();
}
肯定有人会说是A,但实际上是编译 ...
P.2简易计算器
一、项目简介
一个基于 C++ 的简易控制台计算器,支持多种基础运算。
二、功能说明
支持加、减、乘、除、取模运算
支持与、或、非、异或等位运算
支持左移、右移操作
输入错误表达式时会给出报错提示
三、运行环境
兼容 C++14 及以上标准
Windows 平台可直接运行提供的 .exe 文件
运行后会自动暂停,方便查看结果
四 ...
C++/WinRT 入门与 Visual Studio 配置
最近在做 ESP32-C3 与 Windows 端 BLE 通信时,我顺手把 Windows 端切到了 C++/WinRT。
这篇文章记录一个最小可运行路径:从 Visual Studio 配置开始,到成功调用 WinRT 的 的函数并启动。
本文重点讲清楚这几件事:
VS 里怎么配置 C++/WinRT
代码里为什么要写 #pragma comment(lib, "windowsapp.lib") 和 #pragma comment ...
初识C语言的常见概念
1.C语言是什么?
一种用于人类与计算机交流的计算机语言
2.C语言的历史和辉煌
C语言最初是作为Unix系统的开发工具而发明出来,其先前有汇编语言,B语言;
1988年,美国国家标准协会(ANSI)正式将C语言标准化,直至今日,C语言仍然在广泛的使用。
3.编译和链接
C语言是一门编译型的语言,其源代码都是文本文件,本身无法执行 ...
工业机器人都在做驱控一体,但很多企业卡在软件开发这一关
这两年,在工业机器人、协作机器人、AGV/AMR、自动化设备行业里,有一个非常明显的趋势:越来越多企业开始做驱控一体。很多公司的新产品架构里都会提到:
驱控一体控制器
一体化关节
一体化控制系统
控制与驱动融合架构
驱控一体几乎已经成为新一代机器人控制系统的一个方向。但我们在和一些机器人公司、自动化设 ...
Qt 技巧笔记(十四):QTableWidget 表格组件
Qt 技巧笔记(十四):QTableWidget 表格组件
Qt 是一个跨平台C++图形界面平台,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍TableWidget表格组件的常用方法及灵活运用。其核心特点:
内置数据存储模型(QTableW ...
P1993 小 K 的农场
P1993 小 K 的农场
题意
第一行两个整数 \(n\) 和 \(m\) ,分别表示农场数目和小K记忆中的信息数目。
每行先输入一个数 \(opt\) ,可为1,2,3。
每个数字代表一种条件,共3类条件:
\(opt = 1\) : 农场 a 比农场 b 至少多种植了 c 个单位的作物 ;
\(opt = 2\) : 农场 a 比农场 b 至多多种植了 c 个单位的作物 ;
\(opt = ...
ATCODER ABC 450 C题解
ATCODER ABC 450 C
[Atcoder ABC 450 C](C - Puddles)
题意概述:
二维字符数组中,找到联通的.的组合并且处在内部,没有点在最外层
难点:
因为想不到或者不知道这道题的算法是什么,我想枚举模拟,但是在枚举模拟的过程中,我发现,我模拟从一个串的开始到串的末尾,这个过程很难模拟出来,所以暴力做法也写不出来,最后,看官方题解 ...
密码学系列之C/Python编程实现DES算法
DES
任务描述
编程实现DES的加密和解密算法,对明文“0x0123456789ABCDEF”进行加密,采用密钥“0x133457799BBCDFF1”,输出每一轮的加密结果和轮密钥,并对密文进行解密,输出解密后的结果。
DES算法详细介绍我就不展开了,但是简略的过程如上。同样,有需要的读者适当考虑读全英文文献[1],或者利用各个社区进行系统的学 ...
密码学系列之C/Python编程实现AES算法
AES
任务描述
编程实AES的加密和解密算法,对明文“0x3243f6a8885a308d313198a2e0370734”进行加密,采用密钥“0x2b7e151628aed2a6abf7158809cf4f3c”, 输出每一轮的加密结果和轮密钥,并对密文进行解密,输出解密后的结果。
AES通常细分为AES-128、AES-192、AES-256。这里编程的目的主要是为了实现AES-128。
关于AES算法 ...