[C++]变量声明与定义的规则

众所周知,C++中变量声明与定义的规则及其复杂,同时涉及extern、static、const、constexpr和auto等众多关键字,本文尝试总结这些关于C++变量声明与定义的大部分规则。 ... »

如何优雅地学习计算机2<-->Helloworld

0.导入 ​ 在进行粗略的学习计算机底层知识和变量后,我们来开始编写年轻人的第一个程序--Helloworld。 ​ 我们需要用到的工具有:1.Dev-C++(也可以使用其他软件)2.脑子(最重要) 1.Dev-C++的软件介绍 ​ 我们先来介绍Dev-C的安装步骤和基本界面下面放出一段Dev-C的 ... »

采用QT技术,开发OFD电子文档阅读器

前言 ofd作为板式文档规范,相当于国产化的pdf。由于pdf标准制定的较早,相关生态也比较完备,市面上的pdf阅读器种类繁多。国内ofd阅读器寥寥无几,作者此前采用wpf开发了一款阅读器,但该阅读器只能在windows上运行。若实现跨平台运行,采用QT开发应该是首选。笔者并无QT开发经验,但有多年 ... »

关于看门狗的两种模型以及带来的思考

由于最近在计划工作的变动,想要好好规划自己的未来,在这段时间内自己会休息一段时间。就在工作交接的空档,对自己维护的项目以及近年来对工作做一些整理总结,发现了自己的框架在设计中对看门狗有两种不同的方式,因此把它分享出来,希望对接触它的人有所帮助,当然其中不乏纰漏,希望大家指正!记忆之中似乎以前也稍微写 ... »

leetcode 87 扰乱字符串

题目意思就是说判断s1能否经过题目所说的算法得到s2。 题目中的算法处理的位置为随机,所以复现算法基本无法得到s2 那么只能搜索了。 分析: 初始时:如果s1==s2,直接返回true。 对于一个字符串s1,在随机位置分割s1,那么我们只能遍历s1,假设当前位置为分割处,然后进行后续操作,来判断是否 ... »

(十六、十七)数据库并发控制(上)

(十六、十七)数据库并发控制(上) 1. 简介和引入知识 1. 事物 1. 事物的概念 ​ 事物这个概念在数据库中可谓是最为常见。它是指一些列操作序列(一个或一个以上)当一个事务被提交给了DBMS(数据库管理系统),则DBMS需要确保该事务中的所有操作都成功完成且其结果被永久保存在数据库中,如果事务 ... »

优雅的交换两个数的值

##前言 这是我在一个晚修时无聊时想到的,我称他为保留数据式交换(没什么技术含量,看看思路即可) ##解释 就是把两个数通过特定的方法结合起来,然后我们可以通过其中一个值求出另一个值 ##方法: 1.+ 2.- 3.* 4./ 当然最好的还是 ^ 注意:像 % & | 这样会舍去数据的无法进行交换 ... »

当初自学C++时的笔记记录

编辑:刘风琛 最初编写日期:2020年4月11日下午 最新更新日期:2020年9月20日上午 标注: 从笔记开始截止到程序第四章“程序流程结构”,使用Joplin编写,其余部分为Typora编写。 笔记对应课程链接为:(https://www.bilibili.com/video/BV1et411b ... »

C++ 虚函数的内部实现

C++ 虚函数的内部实现 虚函数看起来是个玄之又玄的东西,但其实特别简单!了解了虚函数的内部实现,关于虚函数的各种问题都不在话下啦! 1. 知识储备 阅读这篇文章,你需要事先了解以下几个概念: 什么是继承? 什么是虚函数? 在C++中,在基类的成员函数声明前加上关键字 virtual 即可让该函数成 ... »

FFmpeg API的简单实践应用

0. 前言 利用 FFmpeg 编译链接生成的可执行程序本身可以实现很多特定的功能,但如果我们有自己的个性化需求,想要在自己开发的项目中使用 ffmpeg 的一些功能,就需要理解并应用其已经实现好的API,以写代码的方式调用这些API来完成对媒体文件的操作。 既然是调用 FFmpeg 中实现的API ... »

如何优雅地学习计算机编程-C++1

如何优雅的学习计算机编程--C++ 0.导入 如何优雅地学习计算机编程。我们得首先了解编程是什么?打个比方--写信. 大家都知道写信所用的语言双方都懂,这样的信才做到了信息交流,人和计算机也是如此人和计算机交流得用计算机听得懂的语言。 要想学习编程就要先从底层学起,下面有一幅图帮助大家了解计算机的构 ... »

常见排序算法总结

冒泡排序: 基本思路:每次冒泡总会将当前数组最大数据通过相邻数据比较交换,排到数组尾,因此一次冒泡至少排好一个数 据的顺序,经过n次冒泡就会将当前数组排好顺序。 空间复杂度:O(1),因为只涉及相邻数据互换,所以只需要常量级的临时空间,是原地排序算法。 稳定性:在冒泡排序中只有交换才改变数据顺序,而 ... »

gsoap多wsdl集成

gsoap常规用法: 通过wsdl文件创建头文件 //通过wsdl文件创建头文件 wsdl2h [options] -o file.h ... WSDL and XSD files or URLs to WSDLs and XSDs ... 通过头文件创建cpp实现源文件 //通过头文件创建cpp实 ... »

混合编程:如何用python11调用C++

摘要:在实际开发过程中,免不了涉及到混合编程,比如,对于python这种脚本语言,性能还是有限的,在一些对性能要求高的情景下面,还是需要使用c/c++来完成。 那怎样做呢?我们能使用pybind11作为桥梁,pybind11的优点是对C++ 11支持很好,API比较简单,现在我们就简单记下Pybin ... »

现代c++模板元编程:遍历tuple

tuple是c++11新增的数据结构,通过tuple我们可以方便地把各种不同类型的数据组合在一起。有了这样的数据结构我们就可以轻松模拟多值返回等技巧了。 tuple和其他的容器不同,标准库没有提供适用于tuple的迭代器,也没有提供tuple类型的迭代接口。所以当我们想要遍历tuple的时候只能自己 ... »

windows程序员开发linux程序的头一个月

开发环境选择 vim,vscode,qt,visual studio都可以做linux c++开发,但是作为windows程序员,最熟悉的还是visual stuio,加上visual studio 2019 支持cmake及linu开发,所以最终选择了visual studio 2019 + cm ... »

[DP浅析]线性DP初步 - 2 - 单调队列优化

#0.0 前置知识 本文为单调队列优化dp,请确保你已熟练掌握以下知识: [算法入门]单调队列 发表于 2020-6-24 14:40 Dfkuaid 摘要: 单调队列简单介绍 阅读全文 >> #1.0 简单介绍 #1.1 本质 & 适用范围 运用单调队列优化dp,本质是利用单调性,及时排除不可能的 ... »