C++
文章平均质量分 74
主要涉及c++语言相关话题
东风吹柳
这个作者很懒,什么都没留下…
展开
-
发布-订阅(Publish-Subscribe)C++实现
发布-订阅(Publish-Subscribe)模式是一种消息传递模式,用于构建分布式系统中的通信机制。在这种模式下,消息的发送者(发布者)和消息的接收者(订阅者)之间通过一个称为“主题(Topic)”的中介进行通信。发布者将消息发布到特定的主题上,而订阅者可以选择订阅感兴趣的主题,并在消息发布到该主题时接收消息。假设我们有一个名为"NewsHub"的新闻平台,它采用发布-订阅模式来传递新闻。在这个平台上,有多个新闻频道发布各种类型的新闻,比如"政治新闻"、"体育新闻"、"娱乐新闻"等。原创 2024-05-09 15:52:27 · 2017 阅读 · 2 评论 -
基于libharu的PDF操作
输出PDF评估报告。支持页边距、字号、行间距设置,页码采用自动编号(从1开始),可以缩放图片、自适应表格行高等。原创 2022-04-11 04:46:18 · 4181 阅读 · 18 评论 -
C/C++封装多维数组给其他语言调用
要求其他语言传的数组必须是内存是连续分配的。#include <vector>template<typename Ret>bool FindArrayMember(void* array, std::vector<int>& dims, std::vector<int>& submarks, Ret& result){ if (submarks.size() == 0 || dims.size() == 0 || (sub原创 2020-12-29 20:20:11 · 271 阅读 · 0 评论 -
MySQL编程入门
本文用的是 mysql 自己的接口来实现数据库的连接,所有没有很强的平台依赖性。(代码亲测,vs2012 x64下编译通过,可以直接封装成动态库使用)为了将查询的数据传出数据库,辅助一个 bus 类,该类主要的数据结构是 map 和 list ,这样做能够实现查询功能与数据的有效分离。 另外,本文虽然是数据库的查询功能实现,但是实际上也做了:插入、修改、删除,后三种操作都不需要辅助...原创 2018-09-10 00:10:49 · 913 阅读 · 0 评论 -
基于 Windows API 的 Tcp 通信(Server 端为多线程模式)
/** 服务端 .h 文件*/#pragma once#pragma warning(disable:4996)#include <iostream>#include<winsock2.h>#include<windows.h>#pragma comment(lib,"ws2_32.lib")class Server{public: Server(); ~Server();public: bool ready();privat.原创 2020-09-27 01:20:55 · 740 阅读 · 0 评论 -
Windows C++类导出DLL(利用多态完全屏蔽底层实现)
第一步:创建接口类1.接口类 .h 文件#ifndef ISmoke_h#define ISmoke_h/** ISmoke是一个提供给用户调用的头文件* 对应的库文件为:SmokeDll.dll SmokeDll.lib*/class ISmoke{public: ISmoke() {}; virtual ~ISmoke() {};public: virtual void sayHello() = 0;};//放回实际被调类的指针ISmoke* __cdec原创 2020-08-12 12:59:30 · 366 阅读 · 0 评论 -
为什么 void * 可以做通用指针
指针的本质 传智扫地僧名言:没有内存哪来的内存首地址,没有内存首地址哪来的指针?指针就是值为固定大小的内存块的首地址的变量或者常量。 指针的意义 指针的最大意义之一为间接赋值。i 在主调函数里分配内存,在被调函数中对其进行赋值等修改操作;在主调函数里分配内存,通过被调函数的参数返回操作结果。ii 在被调函数中分配内存,通过被调函数的参数返回被调函数里用malloc分配...原创 2020-09-25 16:55:39 · 276 阅读 · 0 评论