﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-习惯成自然</title><link>http://www.cppblog.com/qzccan/</link><description>helloworld</description><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 10:57:10 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 10:57:10 GMT</pubDate><ttl>60</ttl><item><title>qedit.h中dxtrans.h找不到错误解决方法</title><link>http://www.cppblog.com/qzccan/archive/2012/04/14/171365.html</link><dc:creator>坏习惯</dc:creator><author>坏习惯</author><pubDate>Sat, 14 Apr 2012 08:20:00 GMT</pubDate><guid>http://www.cppblog.com/qzccan/archive/2012/04/14/171365.html</guid><wfw:comment>http://www.cppblog.com/qzccan/comments/171365.html</wfw:comment><comments>http://www.cppblog.com/qzccan/archive/2012/04/14/171365.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qzccan/comments/commentRss/171365.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qzccan/services/trackbacks/171365.html</trackback:ping><description><![CDATA[原因:当前版本的direct sdk已经将<div style="display: inline-block; "></div><span class="Apple-style-span" style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; ">DirectShow分离了，当前版本的sdk没有dxtrans.h文件<br />解决方法:在include "</span><span class="Apple-style-span" style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; ">dxtrans.h"前加上<br /></span><span class="Apple-style-span" style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; "><p>&nbsp;</p><div class="dp-highlighter bg_cpp" style="width: 687px; "><ol start="1" class="dp-cpp" style="border-width: initial; border-color: initial; "><li class="alt" style="border-width: initial; border-color: initial; line-height: 18px; "><span style="border-width: initial; border-color: initial; "><span class="preprocessor" style="border-width: initial; border-color: initial; ">#define&nbsp;__IDxtCompositor_INTERFACE_DEFINED__</span><span style="border-width: initial; border-color: initial; ">&nbsp;&nbsp;</span></span></li><li class="" style="border-width: initial; border-color: initial; line-height: 18px; "><span style="border-width: initial; border-color: initial; "><span class="preprocessor" style="border-width: initial; border-color: initial; ">#define&nbsp;__IDxtAlphaSetter_INTERFACE_DEFINED__</span><span style="border-width: initial; border-color: initial; ">&nbsp;&nbsp;</span></span></li><li class="alt" style="border-width: initial; border-color: initial; line-height: 18px; "><span style="border-width: initial; border-color: initial; "><span class="preprocessor" style="border-width: initial; border-color: initial; ">#define&nbsp;__IDxtJpeg_INTERFACE_DEFINED__</span><span style="border-width: initial; border-color: initial; ">&nbsp;&nbsp;</span></span></li><li class="" style="border-width: initial; border-color: initial; line-height: 18px; "><span style="border-width: initial; border-color: initial; "><span class="preprocessor" style="border-width: initial; border-color: initial; ">#define&nbsp;__IDxtKey_INTERFACE_DEFINED__</span><span style="border-width: initial; border-color: initial; ">&nbsp;&nbsp;</span></span></li></ol></div><p>&nbsp;</p></span><span class="Apple-style-span" style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff; ">并将dxtrans.h注释掉</span><img src ="http://www.cppblog.com/qzccan/aggbug/171365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qzccan/" target="_blank">坏习惯</a> 2012-04-14 16:20 <a href="http://www.cppblog.com/qzccan/archive/2012/04/14/171365.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Your version of the Windows SDK is earlier than 6.0 Try setting the 'WINVER' and '_WIN32_WINNT' definitions in your project to less than 0x0600 解决方法 (资料收集)</title><link>http://www.cppblog.com/qzccan/archive/2012/04/14/171364.html</link><dc:creator>坏习惯</dc:creator><author>坏习惯</author><pubDate>Sat, 14 Apr 2012 08:17:00 GMT</pubDate><guid>http://www.cppblog.com/qzccan/archive/2012/04/14/171364.html</guid><wfw:comment>http://www.cppblog.com/qzccan/comments/171364.html</wfw:comment><comments>http://www.cppblog.com/qzccan/archive/2012/04/14/171364.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qzccan/comments/commentRss/171364.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qzccan/services/trackbacks/171364.html</trackback:ping><description><![CDATA[<span class="Apple-style-span" style="color: #336699; font-family: Verdana; font-size: 13px; line-height: 20px; "><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">////////////////////////////////////////////////////////////////////////////////////////////////////////////<br />//在stdafx.h中的最前面添加<br />////////////////////////////////////////////////////////////////////////////////////////////////////////////<br />#ifndef WINVER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Specifies that the minimum required platform is Windows Vista.&nbsp;<br />#define WINVER 0x0500&nbsp;&nbsp;&nbsp;// Win2k&nbsp;<br />#endif</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">#ifndef _WIN32_WINNT&nbsp;&nbsp;&nbsp;// Specifies that the minimum required platform is Windows Vista.&nbsp;<br />#define _WIN32_WINNT 0x0500&nbsp;&nbsp;// Win2k&nbsp;<br />#endif&nbsp;</p></span><img src ="http://www.cppblog.com/qzccan/aggbug/171364.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qzccan/" target="_blank">坏习惯</a> 2012-04-14 16:17 <a href="http://www.cppblog.com/qzccan/archive/2012/04/14/171364.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VS不同版本标准库链接问题</title><link>http://www.cppblog.com/qzccan/archive/2012/02/27/166593.html</link><dc:creator>坏习惯</dc:creator><author>坏习惯</author><pubDate>Sun, 26 Feb 2012 16:00:00 GMT</pubDate><guid>http://www.cppblog.com/qzccan/archive/2012/02/27/166593.html</guid><wfw:comment>http://www.cppblog.com/qzccan/comments/166593.html</wfw:comment><comments>http://www.cppblog.com/qzccan/archive/2012/02/27/166593.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qzccan/comments/commentRss/166593.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qzccan/services/trackbacks/166593.html</trackback:ping><description><![CDATA[&nbsp; &nbsp; 今天一个同事移植一个代码，需要用到一个库，弄了半天代码移植过来后，好容易可以编译的过了，正开心准备收工，报链接错误了，我一看一堆std::string link error, 弄了半天才发现原来这个库是VS2003编写的，而现在是用VS2008来编译，VS不同版本标准库产生的接口不一致(C++函数编译后函数名产生规则不同)产生的问题吧，叫同事挖出多年前的代码，用2008编译后，没问题了<img src ="http://www.cppblog.com/qzccan/aggbug/166593.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qzccan/" target="_blank">坏习惯</a> 2012-02-27 00:00 <a href="http://www.cppblog.com/qzccan/archive/2012/02/27/166593.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AfxLoadLibrary 127错误</title><link>http://www.cppblog.com/qzccan/archive/2012/02/26/166592.html</link><dc:creator>坏习惯</dc:creator><author>坏习惯</author><pubDate>Sun, 26 Feb 2012 15:54:00 GMT</pubDate><guid>http://www.cppblog.com/qzccan/archive/2012/02/26/166592.html</guid><wfw:comment>http://www.cppblog.com/qzccan/comments/166592.html</wfw:comment><comments>http://www.cppblog.com/qzccan/archive/2012/02/26/166592.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qzccan/comments/commentRss/166592.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qzccan/services/trackbacks/166592.html</trackback:ping><description><![CDATA[&nbsp; &nbsp; 在工作中需要显式的调用一个DLL里的函数，用到了AfxLoadLibrary，一直报127错误，用err查说是找不到指定的程序，一开始认为相应目录是没有该DLL，认真查了后发现是有该DLL的，没有DLL时的错误号是126，一下弄不清楚是什么原因，后来想起好像这个DLL依赖另一个DLL，另一个DLL忘记放该目录了，把该DLL放进目录一试，果然没有问题了<img src ="http://www.cppblog.com/qzccan/aggbug/166592.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qzccan/" target="_blank">坏习惯</a> 2012-02-26 23:54 <a href="http://www.cppblog.com/qzccan/archive/2012/02/26/166592.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>vs 2008链接依赖项</title><link>http://www.cppblog.com/qzccan/archive/2012/02/26/166589.html</link><dc:creator>坏习惯</dc:creator><author>坏习惯</author><pubDate>Sun, 26 Feb 2012 15:41:00 GMT</pubDate><guid>http://www.cppblog.com/qzccan/archive/2012/02/26/166589.html</guid><wfw:comment>http://www.cppblog.com/qzccan/comments/166589.html</wfw:comment><comments>http://www.cppblog.com/qzccan/archive/2012/02/26/166589.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qzccan/comments/commentRss/166589.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qzccan/services/trackbacks/166589.html</trackback:ping><description><![CDATA[&nbsp; &nbsp; 遇到一个工程，用到一个静态链接库，很奇怪项目-&gt;属性-&gt;<div style="display: inline-block; "></div><span class="Apple-style-span" style="font-family: Consolas, Courier, monospace; font-size: 13px; line-height: normal; white-space: pre; ">链接器</span>-&gt;输入-&gt;附加依赖项没有写该静态库，项目文件中也没有用到任何<div style="display: inline-block; "></div><span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px; line-height: normal; "><pre style="padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Consolas, Courier, monospace; word-break: break-all; word-wrap: break-word; font-style: normal; overflow-x: auto; overflow-y: auto; ">#pragma comment( lib，XXX），&nbsp;项目却可以正常启动，查看链接器-&gt;命令行却发现这个库已经在命令行里了<br /><div style="display: inline-block; "><div>/ERRORREPORT:PROMPT XXX.lib,是VS的哪个功能选项让这个项目主动的依赖这个静态库了，答案在这里，首先，工程属性-&gt;通用属性-&gt;项目依赖项让<br />该项目依赖静态链接库工程，然后将项目-&gt;属性-&gt;链接器-&gt;常规-&gt;链接库项目依赖项选是，那么VS会自动将静态链接库作为附加依赖项了</div></div></pre></span><img src ="http://www.cppblog.com/qzccan/aggbug/166589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qzccan/" target="_blank">坏习惯</a> 2012-02-26 23:41 <a href="http://www.cppblog.com/qzccan/archive/2012/02/26/166589.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>windows live writer blogconfig 为空错误</title><link>http://www.cppblog.com/qzccan/archive/2011/10/13/158242.html</link><dc:creator>坏习惯</dc:creator><author>坏习惯</author><pubDate>Thu, 13 Oct 2011 10:21:00 GMT</pubDate><guid>http://www.cppblog.com/qzccan/archive/2011/10/13/158242.html</guid><wfw:comment>http://www.cppblog.com/qzccan/comments/158242.html</wfw:comment><comments>http://www.cppblog.com/qzccan/archive/2011/10/13/158242.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qzccan/comments/commentRss/158242.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qzccan/services/trackbacks/158242.html</trackback:ping><description><![CDATA[<p>windows live writer 无法连接blog，弹出错误提示blogConfig为空</p> <p>从网页上登录blog,在选项-config弹出的页面最下方允许web service. MetaWeblog访问勾上，下方的链接就是</p> <p>你的MetaWeblog地址</p><img src ="http://www.cppblog.com/qzccan/aggbug/158242.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qzccan/" target="_blank">坏习惯</a> 2011-10-13 18:21 <a href="http://www.cppblog.com/qzccan/archive/2011/10/13/158242.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>rc.conf错误导致无法启动解决方法（转）</title><link>http://www.cppblog.com/qzccan/archive/2011/09/23/156594.html</link><dc:creator>坏习惯</dc:creator><author>坏习惯</author><pubDate>Fri, 23 Sep 2011 02:15:00 GMT</pubDate><guid>http://www.cppblog.com/qzccan/archive/2011/09/23/156594.html</guid><wfw:comment>http://www.cppblog.com/qzccan/comments/156594.html</wfw:comment><comments>http://www.cppblog.com/qzccan/archive/2011/09/23/156594.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qzccan/comments/commentRss/156594.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qzccan/services/trackbacks/156594.html</trackback:ping><description><![CDATA[<p>进入单步模式<br /># fsck -y<br /># mount -u /<br />#mount /usr<br /># ee /etc/rc.conf</p><img src ="http://www.cppblog.com/qzccan/aggbug/156594.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qzccan/" target="_blank">坏习惯</a> 2011-09-23 10:15 <a href="http://www.cppblog.com/qzccan/archive/2011/09/23/156594.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>STL版本（转）</title><link>http://www.cppblog.com/qzccan/archive/2010/11/15/133698.html</link><dc:creator>坏习惯</dc:creator><author>坏习惯</author><pubDate>Mon, 15 Nov 2010 11:41:00 GMT</pubDate><guid>http://www.cppblog.com/qzccan/archive/2010/11/15/133698.html</guid><wfw:comment>http://www.cppblog.com/qzccan/comments/133698.html</wfw:comment><comments>http://www.cppblog.com/qzccan/archive/2010/11/15/133698.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qzccan/comments/commentRss/133698.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qzccan/services/trackbacks/133698.html</trackback:ping><description><![CDATA[<p>HP STL <br>HP STL是所有其它STL实现版本的根源。它是STL之父Alexander Stepanov在惠普的Palo Alto实验室工作时，和Meng Lee共同完成的，是第一个STL的实现版本（参见1.2节）。这个STL是开放源码的，所以它允许任何人免费使用、复制、修改、发布和销售该软件和相关文档，前提是必须在所有相关文件中加入HP STL的版本信息和授权信息。现在已经很少直接使用这个版本的STL了。
<p>P.J. Plauger STL <a href="http://www.dinkumware.com/" target=_blank>http://www.dinkumware.com</a>。据称Visual Studio.NET中的Visual C++.NET（即VC7.0），对C++标准的支持有所提高，并且多了以哈希表（hash table）为基础而实现的map容器，multimap容器和set容器。
<p>P. J. Plauger STL属于个人作品，由P. J. Plauger本人实现，是HP STL的一个继承版本，因此在其所有头文件中都含有HP STL的相关声明，同时还有P. J. Plauger本人的版权声明。P. J. Plauger是标准C中stdio库的早期实现者，现在是C/C++ User's Journal的主编，与Microsoft保持着良好的关系。P. J. Plauger STL便是被用于Microsoft的Visual C++中的。在Windows平台下的同类版本中，其性能不错，但是queue组件（队列，一种容器）的效率不理想，同时由于Visual C++对C++语言标准的支持不是很好（至少直到VC6.0为止，还是如此），因此一定程度上影响了P. J. Plauger STL的性能。此外，该版本的源代码可读性较差，你可以在VC的Include子目录下找到所有源文件（比如：C:\Program Files\Microsoft Visual Studio\VC98\Include）。因为不是开放源码的（open source），所以这些源代码是不能修改和销售的，目前P.J. Plauger STL由Dinkumware公司提供相关服务，详情请见
<p>Rouge Wave STL <a href="http://www.rougewave.com/" target=_blank>http://www.rougewave.com</a>。遗憾的是该版本已有一段时间没有更新且不完全符合标准。因此在Borland C++ Builder 6.0中，它的地位被另一个STL的实现版本--STLport（见后）取代了。但是考虑到与以前版本的兼容，C++ Builder 6.0还是保留了Rouge Wave STL，只是如果你想查看它的源代码的话，需要在别的目录中才能找到（比如：C:\Program Files\Borland\Cbuilder6\Include\oldstl）。
<p>Rouge Wave STL是由Rouge Wave公司实现的，也是HP STL的一个继承版本，除了HP STL的相关声明之外，还有Rouge Wave公司的版权声明。同时，它也不是开放源码的，因此无法修改和销售。该版本被Borland C++ Builder所采用，你可以在C++ Builder的Include子目录下找到所有头文件（比如：C:\Program Files\Borland\Cbuilder5\Include）。尽管Rouge Wave STL的性能不是很好，但由于C++ Builder对C++语言标准的支持还算不错，使其表现在一定程度上得以改善。此外，其源代码的可读性较好。可以从如下网站得到更详细的情况介绍：
<p>STLport <a href="http://www.stlport.org/" target=_blank>http://www.stlport.org</a>，可以免费下载其源代码。STLport已经被C/C++技术委员会接受成为工业标准，且在许多平台上都支持。根据测试STLport的效率比VC中的STL要快。比Rouge Wave STL更符合标准，也更容易移植。Borland C++ Builder已经在其6.0版中加入了对STLport的支持，它使用的STLport就是4.5版的，C++ Builder 6.0同时还提供了STLport的使用说明。你可以在C++ Builder的Include\Stlport子目录下找到所有头文件（比如：C:\Program Files\Borland\Cbuilder6\Include\Stlport）。
<p>STLport最初源于俄国人Boris Fomitchev的一个开发项目，主要用于将SGI STL的基本代码移植到其他诸如C++Builder或者是Visual C++这样的主流编译器上。因为SGI STL属于开放源码，所以STLport才有权这样做。目前STLport的最新版本是4.5。可以从如下网站得到更详细的情况介绍：
<p>SGI STL <a href="http://www.sgi.com/" target=_blank>http://www.sgi.com</a>，可以免费下载其源代码。目前的最新版本是3.3。
<p>SGI STL是由Silicon Graphics Computer System, Inc公司实现的，其设计者和编写者包括Alexander Stepanov和Matt Austern，同样它也是HP STL的一个继承版本。它属于开放源码，因此你可以修改和销售它。SGI STL被GCC（linux下的C++编译器）所采用，你可以在GCC的Include子目录下找到所有头文件（比如：C:\cygnus\cygwin-b20\include\g++\include）。由于GCC对C++语言标准的支持很好，SGI STL在linux平台上的性能相当出色。此外，其源代码的可读性也很好。可以从如下网站得到更详细的情况介绍：
<p>本文来自CSDN博客，<a href="http://blog.csdn.net/nicole_q/archive/2007/11/04/1866889.aspx">http://blog.csdn.net/nicole_q/archive/2007/11/04/1866889.aspx</a></p>
<img src ="http://www.cppblog.com/qzccan/aggbug/133698.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qzccan/" target="_blank">坏习惯</a> 2010-11-15 19:41 <a href="http://www.cppblog.com/qzccan/archive/2010/11/15/133698.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>指针的赋值</title><link>http://www.cppblog.com/qzccan/archive/2010/11/02/132057.html</link><dc:creator>坏习惯</dc:creator><author>坏习惯</author><pubDate>Mon, 01 Nov 2010 16:23:00 GMT</pubDate><guid>http://www.cppblog.com/qzccan/archive/2010/11/02/132057.html</guid><wfw:comment>http://www.cppblog.com/qzccan/comments/132057.html</wfw:comment><comments>http://www.cppblog.com/qzccan/archive/2010/11/02/132057.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/qzccan/comments/commentRss/132057.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/qzccan/services/trackbacks/132057.html</trackback:ping><description><![CDATA[<p>指针的赋值比较简单，但是粗心的话，还是比较容易弄错，小菜我比较粗心，就在一开始看到以下代码的时候，云里雾里的，一下没看明白为什么要用_Iterator_base ** 来实现这个功能。
<p>void __CLR_OR_THIS_CALL _Orphan_me()<br>&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; // cut ties with parent<br>&nbsp;&nbsp;&nbsp; if (_Mycont != 0 &amp;&amp; _Mycont-&gt;_Myfirstiter != _IGNORE_MYITERLIST)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; // adopted, remove self from list<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _Iterator_base **_Pnext =<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (_Iterator_base **)&amp;_Mycont-&gt;_Myfirstiter;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while (*_Pnext != 0 &amp;&amp; *_Pnext != this)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _Pnext = &amp;(*_Pnext)-&gt;_Mynextiter;
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (*_Pnext == 0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _DEBUG_ERROR("ITERATOR LIST CORRUPTED!");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *_Pnext = _Mynextiter;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _Mycont = 0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }
<p>实话说，小弟我琢磨了好一会儿了，才恍然大悟，其实，换个例子相信大家一眼就看出来了
<p>int a = 100;<br>int b = 200;<br>int* pA = &amp;a;<br>int *pB = pA; *pB = 300;<br>pB = &amp;b; //pA指向的指针肯定是没有变的
<p>以pB为例，与pB对应的有&amp;pB, pB, *pB,三种值，如下
<p><a href="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/3%5B4%5D.jpg"><img title=3 style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=65 alt=3 src="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/3%5B4%5D_thumb.jpg" width=401 border=0></a>
<p>0x0012fee8指pB的地址，这个地址的值是什么呢？？我们再看
<p><a href="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/4_2.jpg"><img title=4 style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=439 alt=4 src="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/4_thumb.jpg" width=544 border=0></a>
<p>因为我们事先知道这个地址下是一个指针，在win32下指针32位,按高高低低原则，则这个地址的值是0x0012ff0c,假如这个地址表示的是一个字节如char,则值就是0x0c,如果两个字节，则0xff0c,如果3个字节(。。。需要字对齐吧)。还是因为我们事先知道这个内存是个指针，他的值是0x0012ff0c，那我们继续看看0x0012ff0c的值是多少</p>
<p><a href="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/5_2.jpg"><img title=5 style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=150 alt=5 src="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/5_thumb.jpg" width=547 border=0></a> </p>
<p>因为知道这个地址是int*指针，所以按int解释这个值就是 0x0000 0064 = 100了,</p>
<p>有了这几个图，那就可以看看 *pB = 300; pB = &amp;b到底改变了啥了</p>
<p>断点先断到*pb = 300后，继续看内存，发现执行好这句后</p>
<p><a href="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/7_2.jpg"><img title=7 style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=165 alt=7 src="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/7_thumb.jpg" width=545 border=0></a> </p>
<p><a href="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/6_2.jpg"><img title=6 style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=124 alt=6 src="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/6_thumb.jpg" width=546 border=0></a> </p>
<p>0x12fee8的值没有变，还是0x12ff0c, 0x12ff0c的值变了，变为0x0000012c了</p>
<p>pB = &amp;b？</p>
<p><a href="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/9_2.jpg"><img title=9 style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=156 alt=9 src="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/9_thumb.jpg" width=543 border=0></a> </p>
<p><a href="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/10_2.jpg"><img title=10 style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; DISPLAY: inline; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=156 alt=10 src="http://www.cppblog.com/images/cppblog_com/qzccan/WindowsLiveWriter/e738f7b7f6bd_14D8A/10_thumb.jpg" width=545 border=0></a> </p>
<p>&nbsp;</p>
<p>现在pB内存的值变为0x0012ff00了，而*pB的值就是内存0x0012FF00的值变为 0x000000c8了</p>
<p>好，看图说话到这里了，最后总结一下。初学者，很菜，多关照</p>
<img src ="http://www.cppblog.com/qzccan/aggbug/132057.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qzccan/" target="_blank">坏习惯</a> 2010-11-02 00:23 <a href="http://www.cppblog.com/qzccan/archive/2010/11/02/132057.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>test</title><link>http://www.cppblog.com/qzccan/archive/2010/10/20/130560.html</link><dc:creator>坏习惯</dc:creator><author>坏习惯</author><pubDate>Wed, 20 Oct 2010 05:00:00 GMT</pubDate><guid>http://www.cppblog.com/qzccan/archive/2010/10/20/130560.html</guid><description><![CDATA[<p>class CTest</p>
<p>{</p>
<p>public:</p>
<blockquote>
<p>CTest() {std::cout &lt;&lt; &#8220;hello world from windows write&#8221; &lt;&lt; std::endl;}</p>
</blockquote>
<blockquote>
<p>~CTest() {std::cout &lt;&lt; &#8220;bye from windows write&#8221; &lt;&lt; std::endl;}</p>
</blockquote>
<p>private:</p>
<blockquote>
<p>NO_COPY(CTest);</p>
</blockquote>
<p>};</p>
<img src ="http://www.cppblog.com/qzccan/aggbug/130560.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/qzccan/" target="_blank">坏习惯</a> 2010-10-20 13:00 <a href="http://www.cppblog.com/qzccan/archive/2010/10/20/130560.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>