
C/C++
promotercx
这个作者很懒,什么都没留下…
展开
-
cout的执行顺序以及i++与++i的深刻理解
cout的执行顺序以及i++与++i的深刻理解i++与++i的区别cout的执行顺序先看这样一个例子:i++与++i的区别i++,俗称先用后加;++i,俗称先加后用。i++不可以做左值,++i可以做左值。但是这是为什么呢?我们先来看一下他们的具体实现:i++ :const int int::operator++(int){ int old = *this; ++(*this); return old;}12345++i :int& ...转载 2021-06-09 16:27:23 · 2229 阅读 · 0 评论 -
解决sql server安装挂起
解决sql server安装挂起 在安装sql server时出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”错误。无法进行下去。 参考有关资料后,以下步骤基本可以解决:1)添加/删除程序中彻底删除sql server。 2)将没有删除的sql server目录也删除掉。3)打开注册表编辑器,在HKEY_LOCAL_MACHINE\S原创 2020-03-12 23:26:43 · 3973 阅读 · 0 评论 -
QT messageBox
今天在学习使用qt的时,想测试数据是否受到,按照VC中的思想,就是使用messageBox,因此查了一下QT下MessageBox的使用方法,找了下面这篇文章,验证过后没有发现问题。 先来看一下最熟悉的QMessageBox::information。我们在以前的代码中这样使用过:QMessageBox::information(NULL,"Title", "Con原创 2013-02-27 16:45:16 · 10782 阅读 · 0 评论 -
MFC 组合框的使用讲解
GetDlgItem(IDC_COMBO1)->SetWindowText("请点击选择");//文本框((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("1111");//下拉框位置是0((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("2222");//下拉框位置是1 ---------原创 2012-11-20 11:04:13 · 1235 阅读 · 0 评论 -
unexpected end of file while looking for precompiled header directive
今天在使用Markup读取xml文件时,加入Markup的.h和cpp文件后,即出现了这个问题,后台在网上查了之后,说是预编译头文件的问题。 大致总结如下: 预编译头文件,既是指通过stdafx.h文件,预编译很多的标准头文件,如#include #include ,这样可以不用在每一个文件中去包含着两个文件 避免了重复包含原创 2012-10-30 22:05:05 · 905 阅读 · 0 评论 -
MFC中InvalidateRect 、GetCursorPos、静态或全局变量使用、 error RC1121 四个问题
InvalidateRect函数用法用于刷新矩形区域,第一个参数是矩形区域大小,第二个参数为是否重画该背景。如果只为false则只会刷新出更新的,而不刷新背景。GetCursorPos 是根据当前窗口得到鼠标相对的位置。而LButtonDown 是传入的参数是中的point是相对于整个屏幕而言的。 致命错误 RC1121: RC : fatal error RC1121 : I/O e原创 2012-05-24 13:44:47 · 2347 阅读 · 0 评论 -
SQLServer内存占用很大及登录问题。
进入sql server 2000企业管理器,选sql server 组,点右键,属性,内存,选动态地配置sql server 内存,最小值0,最大值建议选物理内存地1/2,如果经常使用sql server ,选择为sql server保留物理内存1024kb或2048kb。如果不限制sql server的内存,sql server可能会无限制地占用内存,即使你的内存很大,机器还是会很慢。原创 2012-05-24 13:53:32 · 3445 阅读 · 0 评论 -
OnInitialUpdate 被调用两次问题
OnInitialUpdate 这个函数在MSDN中讲到,Override this function to perform any One-Time initialization that requires information about the document.dOnInitialUpdate OnInitialDialog两者性质差不多。都是用于初始化界面的,由原创 2012-05-16 14:59:40 · 4157 阅读 · 2 评论 -
User breakpoint called from code at
User breakpoint called from code at 0x********对于CFormView CProperSheet等类的使用,若要创建视图,则应该使用指针,然后create,不能使用对象然后create,后者会造成对象资源的重复释放。因为使用对象的时候,最为对象需要调用析构函数,则释放一次。作为成员变量,又需要被释放一次。就会引起重复释放资源的问题,也就是重复原创 2012-05-16 15:04:13 · 1761 阅读 · 0 评论 -
关于GetDlgItem与moveWindow等的易错使用。
哪个类的资源,在其他类中获取其地址时,一定要通过拥有该控件的对象去得到。如MyDlg 中有一个CEdit的控件,CUserView中有MyDlg dlg1;在CUserView中获取MyDlg中CEdit指针时,必须为dlg1.GetDlgItem(ID);若直接写成GetDlgItem(ID);则不能正确得到地址。这样写编译是没有问题的,但是运行时返回的是NULL。因为I原创 2012-05-16 00:07:26 · 1257 阅读 · 0 评论 -
MFC中一些常用函数调用顺序及功能
构造函数 首先执行,创建对象,但并不生成窗口Create( ) 创建窗口,但不创建其内容OnCreate( ) 创建窗口的基本结构,如控件OnInitialUpdate( ) 初始化窗口内的内容 Create创建窗口的实质是发送WM_CREATE消息,而响原创 2012-05-15 23:50:13 · 765 阅读 · 0 评论 -
C++二维数组申请 与释放
二级指针双重获取int **p ; //声明二级指针p = new int*[num]; //p是二级指针,int*得到的是一级指针,int**是二级指针,同时int*[num]与int**一样,都是二级指针,它是一个数组的指针(指针数组),就是二级指针for(i=0;i{p[原创 2012-05-16 00:00:39 · 1321 阅读 · 0 评论 -
delete与delete[]区别及二维数组申请注意点
在对栈空间的操作时,C++常使用new与delete来进行。对于此操作符,有int *p = new int; Int *p = new int[n];后者常用语做动态申请内存空间使用,称为动态数组。对应的delete为 delete p原创 2012-05-14 13:18:39 · 10224 阅读 · 2 评论 -
MapX搜索图元与数据绑定总结
Item(i)是取得集合中的第i个索引对象GetFind().Search() 搜索相应图层上的图元得到keyID后可以根据此id得到相应的图元,fts.AddByID、ft.GetFeatureByID上面的三个方法都可以根据mapx本身的id号得到对象,但并不能根据tab表的内容查找 若要根绝tab表中的字段得到mapx对应的id号,则必须要下面这两行代码roadLa原创 2012-05-09 15:08:03 · 1853 阅读 · 0 评论 -
VC中链接错误分析
VC中链接错误分析error LNK2001: unresolved external symbol __endthreadexerror LNK2001: unresolved external symbol __beginthreadex 举个简单的例子,在VC中编译如下代码会出现上面的编译错误#include#include#includeint main()原创 2011-12-30 21:52:51 · 370 阅读 · 0 评论 -
关于C++中随机数的问题.
之前对于随机数的产生一直一知半解,前些天一个程序中用到时出了问题,知道几天才明白为什么,在此写出来让大家一起分享。 很多人都接触过随机数,但并没有真正明白这几个函数,再次我先一一介绍一下。 第一个,rand()函数,这应该算是随机数的主体函数了因为它主要负责产生一个随机数,返回值是一个整型值。Int rand(void). 第二个,sra原创 2011-12-29 12:18:41 · 773 阅读 · 0 评论