<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[promotercx的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/promotercx</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; promotercx]]></copyright><item><title><![CDATA[cout的执行顺序以及i++与++i的深刻理解]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/117747128</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/117747128</guid><author>promotercx</author><pubDate>Wed, 09 Jun 2021 16:27:23 +0800</pubDate><description><![CDATA[cout的执行顺序以及i++与++i的深刻理解
i++与++i的区别
cout的执行顺序
先看这样一个例子：


i++与++i的区别
i++，俗称先用后加；++i，俗称先加后用。
i++不可以做左值，++i可以做左值。
但是这是为什么呢？
我们先来看一下他们的具体实现：
i++ ：

const int int::operator++(int){
 int old = *this;
 ++(*this);
 return old;
}
1
2
3
4
5
++i ：

int&amp; ...]]></description><category></category></item><item><title><![CDATA[解决sql server安装挂起]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/50257053</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/50257053</guid><author>promotercx</author><pubDate>Thu, 12 Mar 2020 23:26:43 +0800</pubDate><description><![CDATA[解决sql server安装挂起 在安装sql server时出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”错误。无法进行下去。 参考有关资料后,以下步骤基本可以解决：

1）添加/删除程序中彻底删除sql server。 
2）将没有删除的sql server目录也删除掉。
3）打开注册表编辑器，在HKEY_LOCAL_MACHINE\S]]></description><category></category></item><item><title><![CDATA[凸优化]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/104829297</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/104829297</guid><author>promotercx</author><pubDate>Thu, 12 Mar 2020 21:58:09 +0800</pubDate><description><![CDATA[凸优化的问题是经常碰到的，常见的KKT求解、包括最小二乘法的一种解释等等。

其实凸优化的概念并不复杂，牵扯到凸集合、上镜面、凸函数等概念。下面为网络中比较好的一种解释，收藏。

1、前言
凸优化，是数学最优化的一个子领域，研究定义于凸集中的凸函数最小化的问题。虽然条件苛刻，但应用广泛，具有重要价值，主要体现在：

凸优化本身具有很好的性质
一来，凸问题的局部最优解就是全局最优解。二来，凸优化理...]]></description><category></category></item><item><title><![CDATA[搭建qt的交叉编译环境]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/12647443</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/12647443</guid><author>promotercx</author><pubDate>Sat, 12 Oct 2013 09:50:50 +0800</pubDate><description><![CDATA[1)    apt-get install build-essential
 
2)    apt-get install libxrender-dev libxrandr-dev libxcursor-dev libxinerama-dev libxi-dev libxt-dev libglib2.0-dev libxtst-dev
可能遇到的问题
could not open lock]]></description><category></category></item><item><title><![CDATA[搭建交叉编译环境arm-linux-gcc-4.5.1]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/12647389</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/12647389</guid><author>promotercx</author><pubDate>Sat, 12 Oct 2013 09:47:48 +0800</pubDate><description><![CDATA[这部分在友善之比的开发文档中有详细的说明，相对比较简单，主要是解压、配置环境变量。
环境变量在/root/.bashrc中配置是非常有用的一种方法。
我在ubuntu10.10 、 ubuntu12.04中都尝试了，均可以成功。]]></description><category></category></item><item><title><![CDATA[QT程序编译时的错误：QMAKESPEC has not been set, so configuration cannot be deduced.]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/12496595</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/12496595</guid><author>promotercx</author><pubDate>Wed, 09 Oct 2013 11:11:45 +0800</pubDate><description><![CDATA[如果编译时候出现错误：QMAKESPEC has not been set, so configuration cannot be deduced.

Error processing project file: XXXXX.pro

是QMAKESPEC变量没有设置好，在/root/.bash_profile里加入一行：

export QMAKESPEC=/usr/local/qt]]></description><category></category></item><item><title><![CDATA[html 复选框]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/8763093</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/8763093</guid><author>promotercx</author><pubDate>Sat, 06 Apr 2013 00:43:15 +0800</pubDate><description><![CDATA[>  html xmlns="http://www.w3.org/1999/xhtml">  head>  meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  title>louis-blog >> jQuery 对checkbox的操作title>  mce:script type='text/javascr]]></description><category></category></item><item><title><![CDATA[QT messageBox]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/8618368</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/8618368</guid><author>promotercx</author><pubDate>Wed, 27 Feb 2013 16:45:16 +0800</pubDate><description><![CDATA[今天在学习使用qt的时，想测试数据是否受到，按照VC中的思想，就是使用messageBox，因此查了一下QT下MessageBox的使用方法，找了下面这篇文章，验证过后没有发现问题。
 
先来看一下最熟悉的QMessageBox::information。我们在以前的代码中这样使用过：




QMessageBox::information(NULL,
"Title", "Con]]></description><category></category></item><item><title><![CDATA[JAVASCRIPT文件操作]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/8533193</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/8533193</guid><author>promotercx</author><pubDate>Wed, 23 Jan 2013 11:11:54 +0800</pubDate><description><![CDATA[在IE中，用js打开文件

看了VICVIN 的一篇文章，才知道js也能读取文件，如下是他的文章，俺转载一下。。他的文章用的浏览器应该是IE 不知道别的浏览器值不支持。
原文链接：http://hi.baidu.com/lulufei/blog/item/876c66a72e4e9891d14358ae.html

个人认为对服务器端语言已经被开发的无可挑剔。现在客户端语言——JAVAS]]></description><category></category></item><item><title><![CDATA[MFC 组合框的使用讲解]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/8202792</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/8202792</guid><author>promotercx</author><pubDate>Tue, 20 Nov 2012 11:04:13 +0800</pubDate><description><![CDATA[GetDlgItem(IDC_COMBO1)->SetWindowText("请点击选择");//文本框
((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("1111");//下拉框位置是0
((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("2222");//下拉框位置是1 

---------]]></description><category></category></item><item><title><![CDATA[unexpected end of file while looking for precompiled header directive]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/8130409</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/8130409</guid><author>promotercx</author><pubDate>Tue, 30 Oct 2012 22:05:05 +0800</pubDate><description><![CDATA[今天在使用Markup读取xml文件时，加入Markup的.h和cpp文件后，即出现了这个问题，后台在网上查了之后，说是预编译头文件的问题。
 
         大致总结如下：
         预编译头文件，既是指通过stdafx.h文件，预编译很多的标准头文件，如#include     #include ，这样可以不用在每一个文件中去包含着两个文件
         避免了重复包含]]></description><category></category></item><item><title><![CDATA[SQLServer内存占用很大及登录问题。]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/7598142</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/7598142</guid><author>promotercx</author><pubDate>Thu, 24 May 2012 13:53:32 +0800</pubDate><description><![CDATA[进入sql server 2000企业管理器，选sql server 组，点右键，属性，内存，选动态地配置sql server 内存，最小值0，最大值建议选物理内存地1/2，如果经常使用sql server ，选择为sql server保留物理内存1024kb或2048kb。如果不限制sql server的内存，sql server可能会无限制地占用内存，即使你的内存很大，机器还是会很慢。]]></description><category></category></item><item><title><![CDATA[MFC中InvalidateRect 、GetCursorPos、静态或全局变量使用、 error RC1121 四个问题]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/7598133</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/7598133</guid><author>promotercx</author><pubDate>Thu, 24 May 2012 13:44:47 +0800</pubDate><description><![CDATA[InvalidateRect函数用法
用于刷新矩形区域，第一个参数是矩形区域大小，第二个参数为是否重画该背景。如果只为false则只会刷新出更新的，而不刷新背景。
GetCursorPos 是根据当前窗口得到鼠标相对的位置。而LButtonDown 是传入的参数是中的point是相对于整个屏幕而言的。 
致命错误 RC1121: RC : fatal error RC1121 : I/O e]]></description><category></category></item><item><title><![CDATA[User breakpoint called from code at]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/7572669</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/7572669</guid><author>promotercx</author><pubDate>Wed, 16 May 2012 15:04:13 +0800</pubDate><description><![CDATA[User breakpoint called from code at 0x********
对于CFormView CProperSheet等类的使用，若要创建视图，则应该使用指针，然后create，不能使用对象然后create，后者会造成对象资源的重复释放。
因为使用对象的时候，最为对象需要调用析构函数，则释放一次。
作为成员变量，又需要被释放一次。就会引起重复释放资源的问题，也就是重复]]></description><category></category></item><item><title><![CDATA[OnInitialUpdate  被调用两次问题]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/7572662</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/7572662</guid><author>promotercx</author><pubDate>Wed, 16 May 2012 14:59:40 +0800</pubDate><description><![CDATA[OnInitialUpdate  这个函数在MSDN中讲到，Override this function to 
perform any One-Time initialization that requires information about 
the document.d
OnInitialUpdate  OnInitialDialog
两者性质差不多。
都是用于初始化界面的，由]]></description><category></category></item><item><title><![CDATA[关于GetDlgItem与moveWindow等的易错使用。]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/7570870</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/7570870</guid><author>promotercx</author><pubDate>Wed, 16 May 2012 00:07:26 +0800</pubDate><description><![CDATA[哪个类的资源，在其他类中获取其地址时，一定要通过拥有该控件的对象去得到。
如MyDlg 中有一个CEdit的控件，CUserView中有MyDlg dlg1;
在CUserView中获取MyDlg
中CEdit指针时，必须为dlg1.GetDlgItem(ID);
若直接写成GetDlgItem(ID);则不能正确得到地址。
这样写编译是没有问题的，但是运行时返回的是NULL。
因为I]]></description><category></category></item><item><title><![CDATA[C++二维数组申请 与释放]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/7570858</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/7570858</guid><author>promotercx</author><pubDate>Wed, 16 May 2012 00:00:39 +0800</pubDate><description><![CDATA[二级指针
双重获取
int **p ;                              //声明二级指针
p = new int*[num];                     //p是二级指针，int*得到的是一级指针，int**是二级指针，同时int*[num]与int**一样，都是二级指针，它是一个数组的指针（指针数组），就是二级指针
for(i=0;i
{
p[]]></description><category></category></item><item><title><![CDATA[MFC中一些常用函数调用顺序及功能]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/7570841</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/7570841</guid><author>promotercx</author><pubDate>Tue, 15 May 2012 23:50:13 +0800</pubDate><description><![CDATA[构造函数 
              首先执行，创建对象，但并不生成窗口

Create( ) 
               创建窗口，但不创建其内容

OnCreate( )              
创建窗口的基本结构，如控件

OnInitialUpdate( )   
初始化窗口内的内容

 

Create创建窗口的实质是发送WM_CREATE消息，而响]]></description><category></category></item><item><title><![CDATA[delete与delete[]区别及二维数组申请注意点]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/7564562</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/7564562</guid><author>promotercx</author><pubDate>Mon, 14 May 2012 13:18:39 +0800</pubDate><description><![CDATA[在对栈空间的操作时，C++常使用new与delete来进行。
对于此操作符，有int *p = new int;
                                      Int *p = new int[n];
后者常用语做动态申请内存空间使用，称为动态数组。对应的delete为
                                     delete p]]></description><category></category></item><item><title><![CDATA[MapX搜索图元与数据绑定总结]]></title><link>https://blog.youkuaiyun.com/promotercx/article/details/7550087</link><guid>https://blog.youkuaiyun.com/promotercx/article/details/7550087</guid><author>promotercx</author><pubDate>Wed, 09 May 2012 15:08:03 +0800</pubDate><description><![CDATA[Item(i)是取得集合中的第i个索引对象
GetFind().Search()  搜索相应图层上的图元
得到keyID后可以根据此id得到相应的图元，fts.AddByID、ft.GetFeatureByID
上面的三个方法都可以根据mapx本身的id号得到对象，但并不能根据tab表的内容查找
 
若要根绝tab表中的字段得到mapx对应的id号，则必须要下面这两行代码
roadLa]]></description><category></category></item></channel></rss>