c++

qq_4798754333 分钟前
网络·c++·设计模式
C++ 网络编程中的 Protobuf 消息分发 (Dispatcher) 设计模式在上一篇文章中,我们解决了 Codec(编解码) 的问题。现在,我们的网络服务器已经能够成功地从 TCP 字节流中切分出一个完整的网络包,并利用 Protobuf 的反射机制,将二进制数据还原成了一个 C++ 对象。
Tandy12356_34 分钟前
c语言·网络·c++·tcp/ip·计算机网络
手写TCP/IP协议——IP层输出处理本节课主要实现将IP数据包添加头部并通过以太网发包的全过程xnet_tinny.h声明函数xip_out:
博语小屋38 分钟前
linux·服务器·数据库·c++
实现简单日志IT行业这么火, 涌入的人很多. 俗话说林子大了啥鸟都有. 大佬和菜鸡们两极分化的越来越严重. 为了让菜鸡们不太拖大佬的后腿, 于是大佬们针对一些经典的常见的场景, 给定了一些对应的解决方案, 这个就是 设计模式
ZouZou老师7 小时前
c++·设计模式·装饰器模式
C++设计模式之装饰器模式:以家具生产为例装饰器模式是一种结构型设计模式,其核心思想是在不改变原有类结构和逻辑的前提下,通过动态地给对象添加额外职责(装饰)的方式,实现功能的灵活扩展。这种模式避免了使用继承扩展功能时可能出现的"类爆炸"问题,让每个装饰功能都成为独立的可复用组件。
ZouZou老师7 小时前
c++·设计模式·桥接模式
C++设计模式之桥接模式:以家具生产为例在日常家具生产中,我们常常会遇到一个问题:不同类型的家具(如椅子、桌子)需要搭配不同的材质(如木头、金属、塑料)。如果直接为每种“家具类型+材质”的组合创建一个类,比如木头椅子、金属椅子、木头桌子、金属桌子……当家具类型或材质数量增加时,类的数量会呈爆炸式增长(类数量=家具类型数×材质数)。这种设计不仅冗余,还会导致后续维护极度困难。
呱呱巨基7 小时前
linux·c++·笔记·学习
Linux 进程概念前言:以下是本章的重点①:认识冯诺依曼系统②:操作系统概念与定位,理解“管理”③:深入理解进程概念,了解PCB
liulilittle7 小时前
linux·服务器·开发语言·前端·网络·数据库·c++
C++ 浮点数封装。头文件:源文件:
ZouZou老师8 小时前
c++·设计模式·组合模式
C++设计模式之组合模式:以家具生产为例在家具生产车间,我们经常会遇到这样的场景:一张书桌由桌面、桌腿、抽屉组成,而抽屉本身又由抽屉面板、抽屉侧板、滑轨组成;一个衣柜由柜体、柜门、隔板、抽屉组成,这些组成部分既可能是不可拆分的独立部件,也可能是由更小部件组合而成的复杂组件。如果要对这些家具及其部件进行统一的生产调度、组装检测或拆卸维护,如何让程序既能处理单个部件,又能无缝应对复杂组件呢?C++的组合模式(Composite Pattern)正是解决这类"部分-整体"问题的绝佳方案。
yong15858553438 小时前
linux·c++·学习
2. Linux C++ muduo 库学习——原子变量操作头文件应用场景: 1. 多线程编程:在多线程环境中,一个线程可能会修改某个变量,而另一个线程需要实时感知这个变量的变化。使用volatile关键字可以确保每次读取该变量时都是从内存中读取最新的值。 2. 硬件交互:当程序与硬件设备进行交互时,硬件可能会随时修改某些内存地址中的值。使用volatile关键字可以确保程序每次读取这些内存地址时都能获取到最新的硬件状态。
SunkingYang1 天前
c++·mfc·窗口·messagebox·置顶·afxmessagebox
MFC中如何使MessageBox弹窗置顶?注意:MB_SYSTEMMODAL 会使消息框成为系统模态对话框,它会阻止与其他所有窗口的交互,而不仅仅是当前应用程序。
小小8程序员8 小时前
java·开发语言·c++
STL 库(C++ Standard Template Library)全面介绍STL(标准模板库)是 C++ 标准库的核心组成部分,由惠普实验室开发并纳入 C++ 标准,它以模板为基础,提供了一套通用、高效、可复用的数据结构和算法,旨在让开发者脱离重复的底层实现,专注于业务逻辑,大幅提升 C++ 编程效率。
老王熬夜敲代码9 小时前
开发语言·c++·笔记·面试
C++中的atomic在C++多线程编程中,std::atomic(原子操作)是实现无锁编程(Lock-Free)和轻量级同步的核心机制。它定义在 <atomic> 头文件中。
龚礼鹏10 小时前
c语言·开发语言·c++
Android应用程序 c/c++ 崩溃排查流程目录1.查看日志二.使用addr2line工具查看具体位置如下截取的是应用崩溃的关键日志:上述关键日志是在null pointer dereference,空指针了,然后具体空指针位置如下:
REDcker11 小时前
开发语言·javascript·c++
JS 与 C++ 语言绑定技术详解在 Web 开发中,将 C++ 代码编译为 WebAssembly (Wasm) 后,需要通过绑定层实现 JavaScript 与 C++ 的相互调用。本文档全面介绍各种绑定方案,帮助开发者选择最适合的技术路径。
June`11 小时前
开发语言·c++
C++11新特性全面解析(三):智能指针与死锁本篇是c++中比较重要的章节,补充了前面碰到的有关智能指针却没有讲解的语法及特性目录智能指针1.为什么需要智能指针?
小小晓.12 小时前
c++·算法
Pinely Round 4 (Div. 1 + Div. 2)目录引言:A. Maximize the Last Element题目大意:算法分析:源码实现:B. AND Reconstruction
SHOJYS12 小时前
数据结构·c++·学习·算法
学习离线处理 [CSP-J 2022 山东] 部署[CSP-J 2022 山东] 部署今天学习一下离线处理.所谓离线, 就是等你操作完了后再问你问题, 每一次操作时间复杂度可能很大, 我们可以把操作堆起来最后一遍完成.
steins_甲乙13 小时前
开发语言·c++·安全
C++并发编程(3)——资源竞争下的安全栈先上代码:1. 自定义异常 empty_stack继承自 std::exception,表示一种异常类型:栈为空时的异常。
煤球王子13 小时前
c++
学而时习之:C++中的异常处理2程序运行时常会遇到“除以 0、文件不存在、数据无效”等突发状况,统称为异常。若放任不管,进程会异常终止。 C++ 提供 try-catch 机制:在 try 块里用 throw 抛出一个对象,该对象通常是某个异常类的实例;catch 块根据对象类型捕获并处理。
仰泳的熊猫13 小时前
数据结构·c++·算法·pat考试
1084 Broken Keyboard#include<iostream> #include<cctype> #include<string> using namespace std; int main(){ string s1,s2,ans; cin>>s1>>s2; for(int i=0;i<s1.length();i++){ if(s2.find(s1[i])==string::npos&&ans.find(toupper(s1[i]))==string::npos){ ans+=toupper(s1[i]); } } cout<<a