﻿<?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/palm/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 06 Apr 2026 22:55:15 GMT</lastBuildDate><pubDate>Mon, 06 Apr 2026 22:55:15 GMT</pubDate><ttl>60</ttl><item><title>C++风格的类型转换</title><link>http://www.cppblog.com/palm/archive/2011/03/07/141272.html</link><dc:creator>郭小帅</dc:creator><author>郭小帅</author><pubDate>Mon, 07 Mar 2011 06:28:00 GMT</pubDate><guid>http://www.cppblog.com/palm/archive/2011/03/07/141272.html</guid><wfw:comment>http://www.cppblog.com/palm/comments/141272.html</wfw:comment><comments>http://www.cppblog.com/palm/archive/2011/03/07/141272.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/palm/comments/commentRss/141272.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/palm/services/trackbacks/141272.html</trackback:ping><description><![CDATA[
C++有四种类型转换操作符：static_cast、const_cast、dynamic_cast、reinterpret_cast。<div>1&gt;. static_cast普通转换，如double转int：</div><div><table id="Table1" class="tb" cellspacing="0" cellpadding="3" border="0" style="font-size: 13px; "><tbody><tr><td><pre><div><span style="color: rgb(0, 128, 128); ">1</span> <span style="color: rgb(0, 0, 255); ">double</span><span style="color: rgb(0, 0, 0); "> a </span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 0, 0); ">10</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); ">2</span> <span style="color: rgb(0, 0, 0); "></span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> b </span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); "> static_cast</span><span style="color: rgb(0, 0, 0); ">&lt;</span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); ">&gt;</span><span style="color: rgb(0, 0, 0); ">(a);</span></div></pre></td></tr></tbody></table></div><div>2&gt;. const_cast改变const或者volatile属性:</div><div><span style="font-size: 13px; "><pre><div><span style="color: rgb(0, 128, 128); ">1</span> <span style="color: rgb(0, 0, 255); ">const</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">char</span><span style="color: rgb(0, 0, 0); ">*</span><span style="color: rgb(0, 0, 0); "> szA </span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">test</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">;
</span><span style="color: rgb(0, 128, 128); ">2</span> <span style="color: rgb(0, 0, 0); "></span><span style="color: rgb(0, 0, 255); ">char</span><span style="color: rgb(0, 0, 0); ">*</span><span style="color: rgb(0, 0, 0); "> szB </span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); "> const_cast</span><span style="color: rgb(0, 0, 0); ">&lt;</span><span style="color: rgb(0, 0, 255); ">char</span><span style="color: rgb(0, 0, 0); ">*&gt;</span><span style="color: rgb(0, 0, 0); ">(szA);</span></div></pre></span></div><div>3&gt;. dynamic_cast把指向基类的指针或引用转换成指向派生类或者基类的兄弟类的指针或引用：</div><div><table id="Table1" class="tb" cellspacing="0" cellpadding="3" border="0" style="font-size: 13px; "><tbody><tr><td><pre><div><span style="color: rgb(0, 128, 128); "> 1</span> <span style="color: rgb(0, 0, 255); ">class</span><span style="color: rgb(0, 0, 0); "> Base
</span><span style="color: rgb(0, 128, 128); "> 2</span> <span style="color: rgb(0, 0, 0); ">{
</span><span style="color: rgb(0, 128, 128); "> 3</span> <span style="color: rgb(0, 0, 0); "></span><span style="color: rgb(0, 0, 255); ">public</span><span style="color: rgb(0, 0, 0); ">:
</span><span style="color: rgb(0, 128, 128); "> 4</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">virtual</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">void</span><span style="color: rgb(0, 0, 0); "> test(){} </span><span style="color: rgb(0, 128, 0); ">//</span><span style="color: rgb(0, 128, 0); ">基类必须有虚函数</span><span style="color: rgb(0, 128, 0); ">
</span><span style="color: rgb(0, 128, 128); "> 5</span> <span style="color: rgb(0, 128, 0); "></span><span style="color: rgb(0, 0, 0); ">};
</span><span style="color: rgb(0, 128, 128); "> 6</span> <span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); "> 7</span> <span style="color: rgb(0, 0, 0); "></span><span style="color: rgb(0, 0, 255); ">class</span><span style="color: rgb(0, 0, 0); "> Child : </span><span style="color: rgb(0, 0, 255); ">public</span><span style="color: rgb(0, 0, 0); "> Base
</span><span style="color: rgb(0, 128, 128); "> 8</span> <span style="color: rgb(0, 0, 0); ">{
</span><span style="color: rgb(0, 128, 128); "> 9</span> <span style="color: rgb(0, 0, 0); "></span><span style="color: rgb(0, 0, 255); ">public</span><span style="color: rgb(0, 0, 0); ">:
</span><span style="color: rgb(0, 128, 128); ">10</span> <span style="color: rgb(0, 0, 0); ">    </span><span style="color: rgb(0, 0, 255); ">void</span><span style="color: rgb(0, 0, 0); "> print(){ cout </span><span style="color: rgb(0, 0, 0); ">&lt;&lt;</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); ">child::base</span><span style="color: rgb(0, 0, 0); ">"</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 0, 0); ">&lt;&lt;</span><span style="color: rgb(0, 0, 0); "> endl; }
</span><span style="color: rgb(0, 128, 128); ">11</span> <span style="color: rgb(0, 0, 0); ">};
</span><span style="color: rgb(0, 128, 128); ">12</span> <span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); ">13</span> <span style="color: rgb(0, 0, 0); ">Base</span><span style="color: rgb(0, 0, 0); ">*</span><span style="color: rgb(0, 0, 0); "> pBase </span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 0, 255); ">new</span><span style="color: rgb(0, 0, 0); "> Base();
</span><span style="color: rgb(0, 128, 128); ">14</span> <span style="color: rgb(0, 0, 0); ">Child</span><span style="color: rgb(0, 0, 0); ">*</span><span style="color: rgb(0, 0, 0); "> pChild </span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); "> dynamic_cast</span><span style="color: rgb(0, 0, 0); ">&lt;</span><span style="color: rgb(0, 0, 0); ">Child</span><span style="color: rgb(0, 0, 0); ">*&gt;</span><span style="color: rgb(0, 0, 0); ">(pBase);
</span><span style="color: rgb(0, 128, 128); ">15</span> <span style="color: rgb(0, 0, 0); ">pChild</span><span style="color: rgb(0, 0, 0); ">-&gt;</span><span style="color: rgb(0, 0, 0); ">print();</span></div></pre></td></tr></tbody></table></div><div>4&gt;. reinterpret_cast用来在函数指针之间进行类型转换</div><div><font face="monospace" size="2"><span style="white-space: pre;"><span style="font-family: Simsun; white-space: normal; font-size: 13px; "><pre><div><span style="color: rgb(0, 128, 128); ">1</span> <span style="color: rgb(0, 0, 0); ">typedef </span><span style="color: rgb(0, 0, 255); ">void</span><span style="color: rgb(0, 0, 0); "> (</span><span style="color: rgb(0, 0, 0); ">*</span><span style="color: rgb(0, 0, 0); ">FuncPtr)();
</span><span style="color: rgb(0, 128, 128); ">2</span> <span style="color: rgb(0, 0, 0); ">FuncPtr funcPtrArray[</span><span style="color: rgb(0, 0, 0); ">10</span><span style="color: rgb(0, 0, 0); ">];
</span><span style="color: rgb(0, 128, 128); ">3</span> <span style="color: rgb(0, 0, 0); "></span><span style="color: rgb(0, 0, 255); ">int</span><span style="color: rgb(0, 0, 0); "> doSomeing(){</span><span style="color: rgb(0, 0, 255); ">return</span><span style="color: rgb(0, 0, 0); "> </span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">;}
</span><span style="color: rgb(0, 128, 128); ">4</span> <span style="color: rgb(0, 0, 0); ">
</span><span style="color: rgb(0, 128, 128); ">5</span> <span style="color: rgb(0, 0, 0); ">funcPtrArray[</span><span style="color: rgb(0, 0, 0); ">0</span><span style="color: rgb(0, 0, 0); ">] </span><span style="color: rgb(0, 0, 0); ">=</span><span style="color: rgb(0, 0, 0); "> reinterpret_cast</span><span style="color: rgb(0, 0, 0); ">&lt;</span><span style="color: rgb(0, 0, 0); ">FuncPtr</span><span style="color: rgb(0, 0, 0); ">&gt;</span><span style="color: rgb(0, 0, 0); ">(</span><span style="color: rgb(0, 0, 0); ">&amp;</span><span style="color: rgb(0, 0, 0); ">doSomeing);</span></div></pre></span></span></font></div><img src ="http://www.cppblog.com/palm/aggbug/141272.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/palm/" target="_blank">郭小帅</a> 2011-03-07 14:28 <a href="http://www.cppblog.com/palm/archive/2011/03/07/141272.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转换Unicode和ANSI文字</title><link>http://www.cppblog.com/palm/archive/2010/03/05/108992.html</link><dc:creator>郭小帅</dc:creator><author>郭小帅</author><pubDate>Fri, 05 Mar 2010 12:24:00 GMT</pubDate><guid>http://www.cppblog.com/palm/archive/2010/03/05/108992.html</guid><wfw:comment>http://www.cppblog.com/palm/comments/108992.html</wfw:comment><comments>http://www.cppblog.com/palm/archive/2010/03/05/108992.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/palm/comments/commentRss/108992.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/palm/services/trackbacks/108992.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/palm/archive/2010/03/05/108992.html'>阅读全文</a><img src ="http://www.cppblog.com/palm/aggbug/108992.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/palm/" target="_blank">郭小帅</a> 2010-03-05 20:24 <a href="http://www.cppblog.com/palm/archive/2010/03/05/108992.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于光照的一些概念</title><link>http://www.cppblog.com/palm/archive/2010/03/01/108699.html</link><dc:creator>郭小帅</dc:creator><author>郭小帅</author><pubDate>Mon, 01 Mar 2010 14:51:00 GMT</pubDate><guid>http://www.cppblog.com/palm/archive/2010/03/01/108699.html</guid><wfw:comment>http://www.cppblog.com/palm/comments/108699.html</wfw:comment><comments>http://www.cppblog.com/palm/archive/2010/03/01/108699.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/palm/comments/commentRss/108699.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/palm/services/trackbacks/108699.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/palm/archive/2010/03/01/108699.html'>阅读全文</a><img src ="http://www.cppblog.com/palm/aggbug/108699.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/palm/" target="_blank">郭小帅</a> 2010-03-01 22:51 <a href="http://www.cppblog.com/palm/archive/2010/03/01/108699.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>修改文件的属性为只读</title><link>http://www.cppblog.com/palm/archive/2010/03/01/108690.html</link><dc:creator>郭小帅</dc:creator><author>郭小帅</author><pubDate>Mon, 01 Mar 2010 13:15:00 GMT</pubDate><guid>http://www.cppblog.com/palm/archive/2010/03/01/108690.html</guid><wfw:comment>http://www.cppblog.com/palm/comments/108690.html</wfw:comment><comments>http://www.cppblog.com/palm/archive/2010/03/01/108690.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/palm/comments/commentRss/108690.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/palm/services/trackbacks/108690.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/palm/archive/2010/03/01/108690.html'>阅读全文</a><img src ="http://www.cppblog.com/palm/aggbug/108690.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/palm/" target="_blank">郭小帅</a> 2010-03-01 21:15 <a href="http://www.cppblog.com/palm/archive/2010/03/01/108690.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HLSL数据类型</title><link>http://www.cppblog.com/palm/archive/2010/02/27/108575.html</link><dc:creator>郭小帅</dc:creator><author>郭小帅</author><pubDate>Sat, 27 Feb 2010 13:30:00 GMT</pubDate><guid>http://www.cppblog.com/palm/archive/2010/02/27/108575.html</guid><wfw:comment>http://www.cppblog.com/palm/comments/108575.html</wfw:comment><comments>http://www.cppblog.com/palm/archive/2010/02/27/108575.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/palm/comments/commentRss/108575.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/palm/services/trackbacks/108575.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/palm/archive/2010/02/27/108575.html'>阅读全文</a><img src ="http://www.cppblog.com/palm/aggbug/108575.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/palm/" target="_blank">郭小帅</a> 2010-02-27 21:30 <a href="http://www.cppblog.com/palm/archive/2010/02/27/108575.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>把Exe复制到一个指定的目录</title><link>http://www.cppblog.com/palm/archive/2010/02/27/108563.html</link><dc:creator>郭小帅</dc:creator><author>郭小帅</author><pubDate>Sat, 27 Feb 2010 09:23:00 GMT</pubDate><guid>http://www.cppblog.com/palm/archive/2010/02/27/108563.html</guid><wfw:comment>http://www.cppblog.com/palm/comments/108563.html</wfw:comment><comments>http://www.cppblog.com/palm/archive/2010/02/27/108563.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/palm/comments/commentRss/108563.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/palm/services/trackbacks/108563.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/palm/archive/2010/02/27/108563.html'>阅读全文</a><img src ="http://www.cppblog.com/palm/aggbug/108563.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/palm/" target="_blank">郭小帅</a> 2010-02-27 17:23 <a href="http://www.cppblog.com/palm/archive/2010/02/27/108563.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用程序实现启动IE</title><link>http://www.cppblog.com/palm/archive/2010/02/27/108558.html</link><dc:creator>郭小帅</dc:creator><author>郭小帅</author><pubDate>Sat, 27 Feb 2010 08:30:00 GMT</pubDate><guid>http://www.cppblog.com/palm/archive/2010/02/27/108558.html</guid><wfw:comment>http://www.cppblog.com/palm/comments/108558.html</wfw:comment><comments>http://www.cppblog.com/palm/archive/2010/02/27/108558.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/palm/comments/commentRss/108558.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/palm/services/trackbacks/108558.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/palm/archive/2010/02/27/108558.html'>阅读全文</a><img src ="http://www.cppblog.com/palm/aggbug/108558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/palm/" target="_blank">郭小帅</a> 2010-02-27 16:30 <a href="http://www.cppblog.com/palm/archive/2010/02/27/108558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序单实例运行</title><link>http://www.cppblog.com/palm/archive/2010/02/27/108553.html</link><dc:creator>郭小帅</dc:creator><author>郭小帅</author><pubDate>Sat, 27 Feb 2010 06:26:00 GMT</pubDate><guid>http://www.cppblog.com/palm/archive/2010/02/27/108553.html</guid><wfw:comment>http://www.cppblog.com/palm/comments/108553.html</wfw:comment><comments>http://www.cppblog.com/palm/archive/2010/02/27/108553.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/palm/comments/commentRss/108553.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/palm/services/trackbacks/108553.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/palm/archive/2010/02/27/108553.html'>阅读全文</a><img src ="http://www.cppblog.com/palm/aggbug/108553.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/palm/" target="_blank">郭小帅</a> 2010-02-27 14:26 <a href="http://www.cppblog.com/palm/archive/2010/02/27/108553.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Shader的使用</title><link>http://www.cppblog.com/palm/archive/2010/02/26/108511.html</link><dc:creator>郭小帅</dc:creator><author>郭小帅</author><pubDate>Fri, 26 Feb 2010 10:33:00 GMT</pubDate><guid>http://www.cppblog.com/palm/archive/2010/02/26/108511.html</guid><wfw:comment>http://www.cppblog.com/palm/comments/108511.html</wfw:comment><comments>http://www.cppblog.com/palm/archive/2010/02/26/108511.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/palm/comments/commentRss/108511.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/palm/services/trackbacks/108511.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/palm/archive/2010/02/26/108511.html'>阅读全文</a><img src ="http://www.cppblog.com/palm/aggbug/108511.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/palm/" target="_blank">郭小帅</a> 2010-02-26 18:33 <a href="http://www.cppblog.com/palm/archive/2010/02/26/108511.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CPU与GPU的同步</title><link>http://www.cppblog.com/palm/archive/2010/02/26/108507.html</link><dc:creator>郭小帅</dc:creator><author>郭小帅</author><pubDate>Fri, 26 Feb 2010 09:27:00 GMT</pubDate><guid>http://www.cppblog.com/palm/archive/2010/02/26/108507.html</guid><wfw:comment>http://www.cppblog.com/palm/comments/108507.html</wfw:comment><comments>http://www.cppblog.com/palm/archive/2010/02/26/108507.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/palm/comments/commentRss/108507.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/palm/services/trackbacks/108507.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/palm/archive/2010/02/26/108507.html'>阅读全文</a><img src ="http://www.cppblog.com/palm/aggbug/108507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/palm/" target="_blank">郭小帅</a> 2010-02-26 17:27 <a href="http://www.cppblog.com/palm/archive/2010/02/26/108507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>