
C++
文章平均质量分 81
LeoSame
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UOS手工编译gcc-9.1
一切都和其他源码安装软件是一样的:一、下载源代码: http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.xz二、解压文件 tar xvf gcc-9.1.0.tar.xz三、配置安装路径:sudo vim /etc/profile export PATH="/usr/local/gcc-9.1/bin:$PATH"别忘记最后执行source /etc/profile四、源码自动配置: cd gcc-9.1.0/ .原创 2020-07-19 05:57:20 · 3287 阅读 · 1 评论 -
qDBus使用笔记
如果我想开发一个启动多次只会出现一个进程的APP,使用qDbus非常适合简单。假设我想把我的MainWindow的slotCreateMainwindow导出为一个服务接口。步骤如下:1.改造我们的Mainwindow.h#define SERVICENAME "com.musicio.monitor"#define PATH "/monitor/objects"class MonitorAdaptor;class MainWindow : public QMainWindow{原创 2020-07-07 15:04:37 · 929 阅读 · 0 评论 -
Qt Winid获取的窗口导致重写事件出现失效等问题
// foreach (QWidget *pWin, QApplication::allWidgets()) {// qDebug() << pWin->winId();// if (winid == QString::number(pWin->winId())) {// pWidget = pWin;// qDebug() << "找到了!!!";// .原创 2020-05-21 11:23:45 · 1881 阅读 · 0 评论 -
OpenGL粒子特效(From NeHe)
Win32 Application:其中只有一个.cpp文件另外需要一个bmp图片。按F1全屏,按上下左右改变粒子的扫尾距离,按2468改变粒子扫尾方向。#pragma comment( lib, "opengl32.lib" ) #pragma comment( lib, "glu32.lib" ) #pragma comment( lib, "glut32.lib")转载 2015-04-23 09:35:20 · 3532 阅读 · 0 评论 -
往对话框中手工加入工具条、状态栏、工具提示、按钮控件
我们建立一个开始不带工具条和状态栏的工程。然后手工加入工具条、状态栏和工具提示1、利用MFC向导创建一个名为CCControlBarDemo的基于对话框的工程2、在CCControlBarDemoDlg.h文件的头部加入如下的常量定义。//===============================================//=======自定义状态栏、工具条和工具提示的原创 2015-04-07 21:29:02 · 595 阅读 · 0 评论 -
虚函数的限制
虚函数的限制 一个基类中将所有的成员函数都尽可能地设置为虚函数总是有益的(若该类不是派生类的基类,将成员函数设置为虚函数没有实际意义)。它除了会增加内存开销并无坏处。 在设置虚函数时必须注意下列事项:1、只有类的成员函数才能声明为虚函数。这是因为虚函数仅适用于有继承关系的类对象,所以普通函数不能声明为虚函数。2、静态成员函数不能是虚函数,因为静态成员函数不受限于原创 2015-04-08 21:31:08 · 1234 阅读 · 1 评论 -
VC使用ADO对象连接一个Access数据库
1、创建一个基于对话框的应用程序ADO2、在对话框中添加一个按钮空间。ID:IDC_TEST。标题:测试连接3、在stdafx.h中添加代码msado15.dll动态链接库导入到程序中。(红色部分)// stdafx.h : include file for standard system include files,// or project specific include原创 2015-05-02 13:09:05 · 645 阅读 · 0 评论 -
VC++使用列表控件显示数据库中的数据(移动记录集指针遍历记录集)
1、创建一个基于对话框的MFC应用程序,命名为SeeData。2、向资源视图中的主对话框中添加一个列表视图控件。ID默认。关联一个变量为m_grid。3、在类视图中添加一个数据库连接类ADOConn。ADOConn.h:// ADOConn.h: interface for the ADOConn class.////////////////////////////////原创 2015-05-03 09:11:06 · 3729 阅读 · 0 评论 -
VC中MessageBox的用法
VC MessageBox的详细用法一、关于MessageBox 消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合。 1.MessageBox("这是一个最简单的消息框!"); 2.MessageBox("这是一个有标题的消息框!","标题"); 3.MessageBox("这是一个确定转载 2015-05-03 21:00:34 · 585 阅读 · 0 评论 -
C++友元类
C++中允许声明一个类为另一个类的友元类(friend class):class B{ ...;}class A{ ...; public: friend class B; ...;}经过上述声明后,类B中的所有成员函数都是A的友元函数。即类B中的所有成员函数都可以访问A类的数据成员和函数。 下面,编写一个程序,实现栈的入原创 2015-04-06 15:43:05 · 523 阅读 · 0 评论 -
C++之友元函数friend
出于信息隐藏的目的,类的数据成员一般定义为私有成员,并通过公有函数对外提供访问接口。但有时需要定义一些函数,这些函数不是类的一部分,但又需要访问类的数据成员,这样可将这些函数定义为该类的友元函数。除了友元函数外,还有友元类,它们被统称为友元。友元的作用是提高程序的执行效率,但也牺牲了类的封装性。#include"string.h"#include#includeusing name原创 2015-04-06 14:08:21 · 658 阅读 · 0 评论 -
引用不是变量,引用只是引用
#include"iostream"using namespace std;void main(){ double a=2; long b=8; double &ra=a; //引用的声明,引用只在声明时带有引用标示符"&",以后使用时不能再带"&"。而且引用必须初始化。 cout cout ra=b; /原创 2015-04-06 11:47:43 · 720 阅读 · 0 评论 -
C++的引用一,求二次方根
下面是一个求一元二次方程ax^2+bx+c=0的根的C++控制台程序#include"iostream"#includeusing namespace std;int solve(double a,double b,double c,double &x1,double &x2) //函数solve()有五个参数,其中后俩是引用参数,引用参数的改变将会改变被引用变量x1,x2的原创 2015-04-06 10:36:15 · 2134 阅读 · 0 评论 -
C++引用二常引用:
#include"iostream"using namespace std;int add(const int &x,const int &y);void main(){ int i=10,j=20; cout}int add(const int &x,const int &y) //在实际应用中,常引用往往被用作函数的形参,这样该函数不能拿=更新该参数所引原创 2015-04-06 11:00:41 · 634 阅读 · 0 评论 -
什么是explicit类型?
C++中的explicitC++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个构造器 ,2 是个默认且隐含的类型转换操作符。所以, 有时候在我们写下如 AAA = XXX, 这样的代码, 且恰好XXX的类型正好是AAA单参数构造器的参数类型, 这时候编译器就自动调用这个构造器, 创建一个AAA的对象。这样看起来好象转载 2015-04-05 16:59:25 · 1351 阅读 · 0 评论 -
c++虚函数和抽象类学习一
函数绑定 函数绑定就是函数的入口地址同函数的调用相联系的过程。绑定分为静态绑定和动态绑定两种形式,二者区别在于:静态绑定在程序编译时就已经完成函数绑定,而动态绑定是在程序运行时才完成需要的函数绑定。传统的面向过程的C语言仅支持静态绑定,而现在的C++、C#、java等面向对象的语言则支持动态绑定,但他们也支持静态绑定。分析下列程序的输出结果是什么?#include#inc原创 2015-04-01 18:21:27 · 525 阅读 · 0 评论 -
如何清空并更新ListCtrl列表视图中的数据
在做通讯录时,我遇到了很多问题。其一是,如何更新显示列表(ListCtrl)中的数据?解决方案:首先使用m_myListCtrl.DeleteAllItems();清空列表中的所有项,然后向其中重新添加数据。其二是,如何将显示列表中的一项删除并且让.txt文件中的数据也相应的删除一项?意思就是我的ListCtrl中的数据实时的写入到.txt文件中保存。解决方案是:int del原创 2015-04-01 10:21:09 · 6896 阅读 · 0 评论 -
绘制一个普通的蓝色背景的窗口,中间有一个红色的方块
Windows32Application的GDI程序:命名为Rectangle。1、创建一个Win32Application的空工程2、添加一个C++文件3、向其中添加如下代码: #includestatic LPCTSTR lpszAppName="GDI App"; //窗口标题HBRUSH hBlueBrush,hRedBrush;原创 2015-05-04 09:26:52 · 1182 阅读 · 0 评论 -
基本数据结构之Stack类(一)
//=====================Stack.h=================#includeusing namespace std;template class Stack{ public: Stack(int size) { maxSize=size; top=-1; elements=new DataType[size]原创 2015-07-17 11:36:27 · 1069 阅读 · 0 评论 -
VC++6.0怎么编译Debug版本和Release版本。
右键点击菜单空白处——选择“组建”——选择“Win32 Release“——重新编译链接右键点击菜单空白处——选择“组建”——选择“Win32 Debug“——重新编译链接原创 2015-07-19 10:47:08 · 3302 阅读 · 1 评论 -
利用caffe.proto生成caffe.pb.h
利用caffe.proto生成caffe.pb.h完全按照博文来就好了:http://blog.youkuaiyun.com/u012905422/article/details/52794693转载 2017-10-31 19:44:10 · 1384 阅读 · 0 评论 -
引用JsonCPP库发生的问题和解决过程
C++要使用JSON来解析数据,一般采用jsoncpp. 网站:http://sourceforge.net/projects/jsoncpp/我们如果要引用JSON的API有两种方法:其一:引用lib文件;其二:引用源文件在这里我只试验了方法一:方法一:1.从git上下载jsoncpp:https://github.com/open-source-parsers/原创 2017-10-10 16:47:57 · 3204 阅读 · 0 评论 -
解决窗口闪烁,亲测可用哦
解决窗口刷新闪烁一般的windows 复杂的界面需要使用多层窗口而且要用贴图来美化,所以不可避免在窗口移动或者改变大小的时候出现闪烁。先来谈谈闪烁产生的原因原因一: 如果熟悉显卡原理的话,调用GDI函数向屏幕输出的时候并不是立刻就显示在屏幕 上只是写到了显存里,而显卡每隔一段时间把显存的内容输出到屏幕上,这就是刷新周期。一般显卡的刷新周期是 1/80秒左右,具体数字可以转载 2017-03-16 17:14:18 · 4926 阅读 · 0 评论 -
一个基于Win32的文本编辑器源码
基于Win32的文本编辑器,不使用控件,使用Windows底层消息原创 2017-02-16 00:11:09 · 2914 阅读 · 0 评论 -
主函数 main WinMain _tmain _tWinMain 的区别
main是C/C++的标准入口函数名WinMain是windows API窗体程序的入口函数。(int WINAPI WinMain()) 中 WINAPI是__stdcall宏,在windef.h中定义的。_tmain _tWinMain 是Unicode版本函数别名,对应与wmain和wWinMain。****************************转载 2017-02-22 10:08:39 · 383 阅读 · 0 评论 -
创建字体CreateFont,CreateFontIndirect
C++设置字体的两种方式转载 2017-02-20 00:56:58 · 4755 阅读 · 0 评论 -
OpenGL如何显示透明PNG
如果这篇博文有20个人评论说要看,我就会把源码贴上来。用OpenGL显示PNG贴图,透明效果很好。等待ing...原创 2016-11-11 20:42:48 · 2418 阅读 · 4 评论 -
error C2653: “***”不是类或命名空间名称
出现该问题主要是mfc自定义的类时忘记#include "stdafx.h",或者#include "stdafx.h"没有放在实现代码的第一行导致。转载 2016-09-19 18:34:27 · 18037 阅读 · 8 评论 -
二叉查找树的后序遍历
对于二叉查找树而言,假设该二叉查找树是整数数组。其后序遍历需要满足以下三个特点:数组最后一个数字是二叉查找树的根节点。数组的前半部分是二叉查找树的左子树,它们的值都比该树的根节点小。数组中靠后部分(除了最后一个元素外)是二叉查找树右子树结点的值,它们的值比根节点的值大。而且以上三个特性对于一个二叉查找树而言,是递归的。举例如下:有一个二叉查找树,存储着字符‘A',’B'原创 2016-06-10 00:44:56 · 770 阅读 · 1 评论 -
查找算法(二)二分搜索法
二分搜索法适用于有序的数组,比如[1,3,5,7,9]这样的数组适合用二分搜索法查找元素。假设存在一个数组为从小到大顺序排序。二分思想:(1)首先,我们视数组所有元素为当前查询范围(2)拿当前查询范围中间的那个元素与要查元素比较,如果值想等,则查找成功,推出查找任务;如果值小于要查的那个元素的值,则取数组前半部分为当前查询范围;如果值大于要查的那个元素的值,则取数组前半部分为当前查原创 2016-06-09 00:52:04 · 1661 阅读 · 0 评论 -
查找算法(一)顺序查找
顺序查找比较适合顺序文件,后者是指文件中所包含的记录在物理结构和逻辑结构中的排列顺序是一致的。顺序查找算法描述,若顺序文件中有n条连续纪录,可以将这些纪录读到内存的一个顺序中进行操作。顺序查找就是在文件的关键字集合key[1,,,n]中找到值为给定值的那条纪录k。这种顺序查找的方法非常简单直观,步骤如下:从文件的第一个纪录开始,将每个纪录的关键字与给定的关键字进行比较如果查找的原创 2016-06-08 17:36:05 · 2738 阅读 · 0 评论 -
C++静态库基本编程
首先,打开Visual Studio,新建一个Win32的静态库项目,项目名为StaticLibrary。最后点击完成其次,在该项目中新建两个文件:lib.h和lib.cpp。文件内容很简单,如下所示:lib.h文件内容如下:#ifndef LIB_H#define LIB_Hextern "C" int add(int x,int y); //声明为C编译、连接方式的外原创 2016-05-21 21:00:21 · 814 阅读 · 0 评论 -
error LNK1169: 找到一个或多个多重定义的符号
错误 2 error LNK1169: 找到一个或多个多重定义的符号 问题出现的原因,是因为一个变量在一个头文件声明,但是却在2个及以上的.cpp文件中定义。解决方案,一般编译器会告诉你是哪个变量出现问题,你需要定位到那个变量,然后,删除其中一个多余的变量定义还有一种无奈的解决方法,你打开项目-》配置属性-》连接器-》命令行,输入以下字符串,以允许多重定:/force:mu原创 2016-04-02 20:09:05 · 2496 阅读 · 0 评论 -
C++ 结构体struct的使用
灵活使用C++的结构体struct,配合文件流的读取,你可以实现灰常强大的功能。原创 2016-03-17 21:45:26 · 601 阅读 · 0 评论 -
如何使用CMenu类创建菜单
如果你不知道怎么用菜单类为对话框创建菜单,那么你就不算掌握了MFC通过菜单编辑器,用户可以方便地设计菜单;通过类向导也可以直接编写菜单项的命令处理函数。那么,如何在程序中动态地创建菜单并相应其命令呢?1、创建一个菜单,步骤如下:1.1、在对话框中定义一个菜单对象,调用CreateMenu方法创建菜单资源。1.2、调用AppendMenu或InsertMenu方法创建菜单项,设置菜单原创 2015-04-01 14:35:13 · 1517 阅读 · 0 评论 -
C、C++、MFC、Win32读取txt文本信息的代码
1.C语言中文件操作。2.C++语言中的文件操作。3.Win32 API函数文件操作。4.MFC CFile类文件操作。5.MFC CFileDialog类的文件操作。6.注册表文件操作。 下面我来详细说明一下各种文件操作方法:1. C语言中文件操作.需要包含的头文件STDIO.H 写入文件:FILE *pfile=fopen("C.txt","w");/转载 2015-03-31 16:34:10 · 3280 阅读 · 0 评论 -
VC++6.0 MFC窗口中移动的圆
这个例子我们创建一个MFC单文档视图窗口,在窗口屏幕上绘制一个移动的填充色为蓝色的圆。步骤:1、利用VC++6.0的AppWizard创建一个单文档视图,命名为MovingBall2、在ClassWizard中找到CMovingBallView类,并双击其中的OnDraw(CDC *pDC)函数,编辑该函数: //在该函数末尾添加如下:SetMapMode(pDC->m_hDC原创 2015-03-24 08:45:47 · 2209 阅读 · 0 评论 -
C++函数mu模板
C++函数模板认识。原创 2014-12-13 20:59:56 · 1028 阅读 · 0 评论 -
C++EOF
//这个程序的作用是输入一段字符串,当你按下回车键,则屏幕输出你输入的字符串。EOF是End Of File 的缩写,表示“文件结束”。返回一个 Integer,它包含 Boolean 值 True,表//明已经到达为 Random 或顺序 Input 打开的文件的结尾。#include #include using std::cin; using std::cout; usin原创 2014-12-15 12:29:26 · 1264 阅读 · 0 评论 -
OpenGL显示三维汉字
OpenGL显示三维汉字的控制台完整源码。在VS2013上可以运行。原创 2015-01-08 18:54:06 · 2569 阅读 · 2 评论