那些容易犯错的c++保留字

本文首发 | 公众号:lunvey 目前正在学习vc++6.0开发,而这里面使用的是c++98标准。 保留字,也称关键字,是指在变量、函数、类中不得重新声明的名称。 c++98中大致有48个保留字,这里给大家一个表,方便查阅。 乍一看,感觉天昏地暗。信息量太大,其实我们做开发的都会有那么一点英语基础 ... »

MFC多文档程序启动无子窗口的实现

刚学MFC的我们,肯定会从一个基本MFC程序开始。 而VC++6.0的MFC基础类提供了三种创建方式:单文档、多文档、对话框。 当我们创建多文档应用程序的时候,会自动启动一个子窗口。 在我们平时使用软件的时候,比如打开Photoshop之类的,会发现并没有子窗口出现。而MFC多文档默认打开一个子窗口 ... »

新手不能忽视的MFC编程之CString

首发文章 | 公众号:lunvey 作为一个新手,刚接触C++没多久。赶鸭子上架完成项目,鉴于之前有几年编程基础,所以很快就接触到了界面开发,由于用的是VC++6.0,所以自然而然就将MFC作为图形界面库。 很多人对于Windows编程图形库的概念就是QT,没错。这个跨平台开发,而且引用了C11等新 ... »

封装不同类模板的随机数生成器

最近准备刷题,打算简单封装下随机数生成器,方便产生测试数据。C++11的STL提供了很多分布类型,比较常用的是均匀分布,均匀分布的值有两种类型,一类是整数,另一类是浮点数,STL根据值的类型定义了两个函数 std::uniform_int_distribution 和 std::uniform_re ... »

系统错误,MSVCP100D.dll找不到或丢失!

文章首发 | 公众号:lunvey 今日研究c++,找了一些示例程序,发现无法打开。弹出如下的报错提示: 作为新时代人类,遇见问题第一件事情就是问度娘。然而眼花缭乱的检索数据,大家众说纷纭,不知道如何是好。 有人说,下载这个dll文件,然后替换一下,接着注册就行;也有人说这个是微软运行库,需要安装对 ... »

C++算法模板集合

我的常用刷题网站:http://218.5.5.242:9018/JudgeOnline/ https://www.luogu.com.cn/ 排序 选择排序(selection sort) 1 void selection(int n,int* a){ 2 for (int i = 0;i < n ... »

C++算法代码——Tuna

这道题像个水题啊,可是在我做的这个OJ上就十几人做出来…… 题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=2084 题目描述 渔民抓住了n个金枪鱼,通过某个app卖给一家日本公司。这个app根据每只鱼的情况,给出两个值p1和p2。如果 ... »

初学c++,vc++6.0必备!

文章首发 | 公众号:lunvey 作为一个纯粹的萌新,工作需要,刚接触到c++。 按照以往的经验,配置一个开发环境是首要的,其次便是边学边敲。 c++入门书籍寻找了一堆,发现了一个共同点,在Windows下编写c++程序,作者推荐的基本上都是vc++6.0作为入门环境。 网上寻找几个小时无果,微软 ... »

std::invoke_result的实现详解

目录 目录 前言 invoke_result 标准库中的invoke_result 我的实现 后记 前言 本篇博文将详细介绍一下libstdc++中std::invoke_result的实现过程,由于个人水平不足,可能最终的实现过程略有误差,还请各位指正。 invoke_result std::in ... »

在QT C++中调用 Python并将软件打包发布(裸机可运行)

为了提高工作效率,需要一个可以自动生成多份相关联的word文档免去繁琐复制粘贴工作的软件。最后选定使用QT C++做界面和主要逻辑程序设计,对word的操作使用python写好对应的函数,然后在QT中调用自己写好的python函数完成相应的功能。由于这是第一次使用python 也是第一次将pytho ... »

Vulkan与DX11交互

Demo演示地址07_wintest 有什么用 在android平台主流是用opengl es,android下vulkan与opengles纹理互通。 而在win平台,主流游戏还用的是DX11,如果只是把结果通过CPU的内存输出,然后接到dx11,这个性能损失太大了,我们就需要Vulkan与DX1 ... »

std::thread线程库详解(4)

目录 目录 前言 条件变量 一些需要注意的地方 总结 前言 本文主要介绍了多线程中的条件变量,条件变量在多线程同步中用的也比较多。我第一次接触到条件变量的时候是在完成一个多线程队列的时候。条件变量用在队列没有数据时,等待入队线程入队数据。相比较于锁的使用,条件变量的使用更为复杂,使用时需要注意的部分 ... »

在Android用vulkan完成蓝绿幕扣像

效果图(1080P处理) 因为摄像头开启自动曝光,画面变动时,亮度变化导致扣像在转动时如上。 源码地址vulkan_extratest 这个demo主要测试二点,一是测试ndk camera集成效果,二是本项目对接外部实现的vulkan层是否方便,用于以后移植GPUImage里的实现。 我简化了在a ... »

STL_优先队列

一、简介 优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素。但是它有一个特性,就是队列中最大的元素总是位于队首,所以出队时,并非按照先进先出的原则进行,而是将当前队列中最大的元素出队。 元素的比较规则默认按元素值由大到小排序,可以重载“<”操作符来重新定义比较规则。 优先级队列可以用向量( ... »

智能指针

一、简介 **动态内存:**除了静态内存和栈内存,每个程序还拥有一个内存池。这部分内存被称作自由空间(free store)或堆(heap)。程序用堆来存储动态分配(dynamicallyallocate)的对象——即那些在程序运行时分配的对象。动态对象的生存期由程序来控制,也就是说,当动态对象不再 ... »

STL_常用的算法

STL_常用的算法 一、常用的查找算法 adjacent_find() adjacent_find(iterator beg, iterator end, _callback); 在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的迭代器。 vector<i ... »

STL_map和multimap容器

一、map/multimap的简介 map是标准的关联式容器,一个map是一个键值对序列,即(key,value)对。它提供基于key的快速检索能力。 map中key值是唯一的**。集合中的元素按一定的顺序**排列。元素插入过程是按排序规则插入,所以不能指定插入位置。 map的具体实现采用红黑树变体 ... »

STL_list容器

一、List简介 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相较于vect ... »

STL_queue容器

一、queue简介 queue所有元素的进出都必须符合”先进先出”的条件,只有queue的顶端元素,才有机会被外界取用。queue不提供遍历功能,也不提供迭代器。 queue是简单地装饰deque容器而成为另外的一种容器。 #include <queue> 二、queue对象的默认构造 queue采 ... »