C++
DevilBox
这个作者很懒,什么都没留下…
展开
-
MFC Dock窗口右上角 关闭按钮 取消
MFC不透明,很多东西莫名其妙,其实也是自己学艺不精。取消停靠窗口右上角关闭按钮,费了好大劲才搞好。为什么要取消呢,有时候不小心关闭了停靠窗口,由于MFC有记忆功能,下一次打开,还是没有,有点恶心。指的就是这个,右上角关闭按钮。在CMainFrame::OnCreate函数内添加上述代码:m_wndFileView.SetControlBarStyle(~AFX_CBRS_CLOSE)如果想消除停靠位置,存储记忆功能在CMainFrame中,CreateDoca...原创 2020-07-01 14:00:15 · 1124 阅读 · 0 评论 -
Qt中QT_BEGIN_NAMESPACE和QT_END_NAMESPACE
先来看一段程序:#ifndef WINDOW_H#define WINDOW_H#include QT_BEGIN_NAMESPACE////class QAbstractItemModel;class QCheckBox;class QComboBox;class QDateEdit;class QGroupBox;class QLabel;class QLineEd原创 2014-11-28 13:40:59 · 1732 阅读 · 0 评论 -
需要时刻学习的博客
其实,我不知道我这样做对与不对,这篇文章说实话是给我自己写给自己看的,下面的这些网址都是一些大牛的博客,值得我自己学习。自己还没有本科毕业,现在在公司实习。用到很多东西,很多东西自己还不会,要好好学习。这些东西都是值得自己花时间学的,这么多博客,自己给自己安排一个进度吧。半年的时间全部看完,代码全部敲一遍。现在的时间是2014年12月,明年的5月份,一定要看完、领会完。有压力,方有动力。转载 2014-11-30 22:39:04 · 916 阅读 · 0 评论 -
VS2005中调用已经在其他程序中编写好的dll文件
VS2005中调用已经在其他程序中编写好的dll文件原创 2014-12-15 15:36:39 · 1731 阅读 · 0 评论 -
解决VS在编译的时候无法打开...obj文件的问题
解决VS在编译的时候无法打开...obj文件的问题原创 2014-12-23 09:54:39 · 32245 阅读 · 6 评论 -
C和C++语言中->和.的区别
在C++语言中"."和"->"都是用来访问结构成员的符号,这一点的确没有区别,区别在于符号的左边。"." 通过结构名直接访问结构成员,左边是结构的名称!(类似于直接寻址)"->"通过指向结构的指针间接地访问结构成员,左边是指针变量!(类似于间接寻址)可能说的不大明白,下面举一个例子:typedef struct Param{ int Devil; int Bios;原创 2014-12-09 14:40:14 · 1018 阅读 · 0 评论 -
略谈 GCC __attribute__
1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。例如:在TC下:struct my{ char ch; int a;} sizeof(int)原创 2014-12-09 11:43:23 · 974 阅读 · 0 评论 -
Qt paintevent事件浅谈
Qt paintevent事件浅谈原创 2015-03-27 16:47:48 · 2718 阅读 · 0 评论 -
C++中打印所处的文件名,行号,函数名
C++中打印所处的文件名,行号,函数名原创 2015-03-27 09:36:57 · 2575 阅读 · 0 评论 -
Qt3升至Qt4需要注意的几件事项浅谈
Qt3升至Qt4需要注意的几件事项浅谈原创 2015-03-31 17:11:41 · 2451 阅读 · 0 评论 -
Qt4、Qt5等Qt版本解决中文乱码问题
Qt中文乱码。增加:解决自己电脑可以,别人电脑还是乱码的问题。原创 2014-12-01 10:23:42 · 2803 阅读 · 0 评论 -
QCompleter补全机制实现
QCompleter补全机制实现原创 2015-06-17 09:23:14 · 2349 阅读 · 0 评论 -
QCombobox设置下拉框的宽度
QCombobox设置下拉框的宽度原创 2015-06-16 09:36:29 · 9053 阅读 · 2 评论 -
Qt 鼠标右击菜单建立
Qt中鼠标右键菜单实现原创 2015-07-30 15:57:23 · 3633 阅读 · 1 评论 -
VS调试DLL工程的方法浅谈
我们在编写Dll工程的时候,因为没有可执行文件生成,所以难以调试,但是我们可以通过其他方法来调试dll文件, 一般VS的版本可能不一样,会有点小差异,但是原理明白了,无论是什么版本的VS我们都可以进行相关设置。1、找到要调试的DLL项目,将要调试的DLL工程设置为调试启动项目;然后选择DLL项目,点击右键,选择Properties(属性),打开属性页设置页面。2、在Properties 页面的中,原创 2016-05-26 14:09:52 · 987 阅读 · 0 评论 -
Ubuntu下QtCreator的安装与卸载
Ubuntu下QtCreator的安装与卸载原创 2016-06-07 10:14:11 · 18083 阅读 · 0 评论 -
C\C++基本数据类型占用的字节数和注意事项
一、程序运行平台 不同的平台上对不同数据类型分配的字节数是不同的。 个人对平台的理解是CPU+OS+Compiler(处理器+系统+编译器)是因为: 1、64位机器也可以装32位系统(x64装XP); 2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的); 3、即使是32原创 2014-11-26 11:40:43 · 1600 阅读 · 0 评论 -
qmake生成VS的vcproj/sln工程文件
qmake 生成的vs工程与环境变量中的 qmakespec相关,可以有两种方法:1.默认情况下,即环境变量qmakespec为你装的qt for vs的版本,默认生成的为该版本的vs工程,如,你装的是QT for vs2010,那么环境变量qmakespec=win32-msvc2010,默认情况下生成的是vc2010的工程。 当你的xx.pro的TEMPLATE = subd原创 2014-11-21 10:32:54 · 10514 阅读 · 0 评论 -
GCC和G++编译优化的一些问题
GCC G++ 编译优化选项问题 一、编译优化选项1、-O0 -O1 -O2 -O3编译时使用选项-O可以告诉GCC同时减小代码的长度和执行时间,其效果等价于-O1。在这一级别上能够进行的优化类型虽然取决于目标处理器,但一般都会包括线程跳转(Thread Jump)和延迟退栈(Deferred Stack Pops)两种优化。选项-O2告诉GCC除了原创 2014-10-27 10:54:53 · 1079 阅读 · 0 评论 -
十六进制转八进制
#include #include using namespace std; int main() { int n; cin>>n; for(int k=1;k<=n;k++) { string s1,s2;//s1为输入的原始的十六进制串,s2为转化成的二进制串 cin>>s1;原创 2014-06-04 13:13:19 · 682 阅读 · 0 评论 -
八皇后问题
#include #include #define N 8 int column[N+1]; // 同栏是否有皇后,1表示有int rup[2*N+1]; // 右上至左下是否有皇后int lup[2*N+1]; // 左上至右下是否有皇后int queen[N+1] = {0};int num; // 解答编号void backtrack(int); // 递回求解in原创 2014-06-04 13:16:28 · 800 阅读 · 0 评论 -
C++小知识:引用和指针的区别是什么?
指针和引用的联系与区别 ★ 相同点:1. 都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。★ 区别:1. 指针是一个实体,而引用仅是个别名;2. 引用使用时无需解引用(*),指针需要解引用;3. 引用只能在定义时被初始化一次,之后不可变;指针可变;4. 引用没有 const,指针有 const;5. 引用不能为空,指针可以为空;6. “siz转载 2014-06-24 20:00:50 · 556 阅读 · 0 评论 -
两个数相乘,小数点后位数没有限制,请写一个高精度算法【转】
算法提示: 输入 string a, string b; 计算string c=a*b; 返回 c;1, 纪录小数点在a,b中的位置l1,l2, 则需要小数点后移动位置数为l=length(a)+length(b)-l1-l2-2;2, 去掉a,b中的小数点,(a,b小数点后移,使a,b变为整数)3, 计算c=a*b; (同整数的转载 2014-06-04 22:41:05 · 1031 阅读 · 0 评论 -
旅行家的预算
问题描述一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的) 。给定两个城市之间的距离 D1、汽车油箱的容量 C(以升为单位) 、每升汽油能行驶的距离 D2、出发点每升汽油价格 P 和沿途油站数 N(N 可以为零) ,油站 i 离出发点的距离Di、每升汽油价格 Pi(i=1,2, ……N) 。计算结果四舍五入至小数点后两位。如果无法到达目的地,则输出“原创 2014-06-04 13:23:32 · 1012 阅读 · 0 评论 -
C\C++小知识: 如何引用一个已经定义过的全局变量 与 全局变量可不可以定义在可被多个.C文件包含的头文件中
1.如何引用一个已经定义过的全局变量? 答:extern 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个编写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。 2.全局变量可不可以定义在可被多个.C文件包含的头文件中?为原创 2014-06-24 19:57:22 · 3181 阅读 · 0 评论 -
C\C++小知识:C\C++中#define和inline的区别
C中宏定义和内联函数的区别是很容易让人忽视的一个地方,也是面试的时候经常被提起的一个问题。前几天写代码的时候由于对宏定义一个细节的忽视,导致程序运行总是出错。现在把宏定义可能出现的问题总结一下。 出错的代码结构如下:转载 2014-06-24 20:06:47 · 721 阅读 · 0 评论 -
C++小知识:C++类中成员的访问控制属性有哪些类型,什么区别
public:这是公有的成员,允许类外直接访问,当然,这要加上类作用域符::,protected:这是保护成员,只允许该类及其派生类访问private:这是私有成员,只允许在该类中进行访问,当然,在类外只可以通过设定的公有函数进行访问。原创 2014-06-24 21:07:43 · 2206 阅读 · 0 评论 -
C++小知识:什么是“引用”?申明和使用“引用”要注意哪些问题?
答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其它变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。不能建原创 2014-06-24 19:45:47 · 1431 阅读 · 0 评论 -
C\C++小知识:const的常见用法
const用法主要是防止定义的对象再次被修改,定义对象变量时要初始化变量 下面我就介绍一下几种常见的用法1.用于定义常量变量,这样这个变量在后面就不可以再被修改 const int Val = 10; //Val = 20; //错误,不可被修改 2. 保护传参时参数不被修改,如果使用引用传递参数或按地址传递参数给一个函数,在这个函数里这个参数的值若被修改,则函数外原创 2014-06-24 20:34:16 · 590 阅读 · 0 评论 -
构造函数为什么不能是虚函数
构造函数为什么不能是虚函数 从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。从使用角度,虚函数主要用于在信息不全的情况下,能使重载的函数得到对应原创 2014-06-06 18:14:55 · 721 阅读 · 0 评论 -
C++小知识:iostream和iostream.h的区别以及namespace小解
(1)C++ iostream和iostream.h的区别 #include 非标准输入输出流 #include 标准输入输出流C++中为了避免名字定义冲突,特别引入了“名字空间的定义”,即namespace。当代码中用时,输出可直接引用cout继承C语言的标准库文件,未引入名字空间定义,所以可直接使用。 当代码中引入时,输出需要引用s原创 2014-07-01 21:29:08 · 920 阅读 · 0 评论 -
inb inw inl outb outw outl:端口操作
如 i386 ,在区别 I/O 空间和内存空间的进程的 I/O 空间写入数据。outb() I/O 上写入 8 位数据 ( 1 字节 );outw() I/O 上写入 16 位数据 ( 2 字节 );outl () I/O 上写入 32 位数据 ( 4 字节)。 inb() I/O 上读取 8 位数据 ( 1 字节 );inw()原创 2014-09-04 09:55:48 · 5202 阅读 · 0 评论 -
文本文件单词分割程序
如下面一段文本: Alice Emma has long flowing red hair. Her Daddy says when the wind blows through her hair, it looks almost alive, like a fiery bird in flight. A beautiful fiery bird, he tells her, magica原创 2014-09-05 09:30:37 · 1331 阅读 · 0 评论 -
Qt小随笔
记在前面: 以前刚开始的时候, 想实现某某功能, 跑百度谷歌, 查Qt助手, 好不容易实现目标功能; 但当时并没有做任何的笔记; 或者只记录几个比较深刻的知识; 后来要再次实现那些功能, 又得重新花一大半时间去搜索查阅, 真真纠结悲催 目的: 就这样子, 写个备忘的笔记, 不时更新, 便于以后检索查阅 内容: 1.视图模型中, 设置视图不可编辑 setEditTrigge原创 2014-09-18 11:15:29 · 873 阅读 · 0 评论 -
大数相加问题
大数相加:超越数据类型范围的也可以进行相加 分析: 用一维数组解决 1.数据元素的输入 用getchar无限输入字符 ,从下标0开始 保存元素 保存顺序是高位在前,低位在后,输入123 保存a1[0]=1....这里也要把字符转换为整形,关系 整数1+'0' ='1' 2.一但遇到进位问题,上面这种就会溢出,数据无法完全保存,所有 把上面的存储顺序改成是 低位原创 2014-06-04 13:06:53 · 782 阅读 · 0 评论