﻿<?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++博客-Ordinary, But Passional-随笔分类-程序设计语言(C/C++)</title><link>http://www.cppblog.com/pxhszcn/category/4516.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 20 Aug 2009 17:42:02 GMT</lastBuildDate><pubDate>Thu, 20 Aug 2009 17:42:02 GMT</pubDate><ttl>60</ttl><item><title>C++ Operator Precedence【转】</title><link>http://www.cppblog.com/pxhszcn/archive/2009/08/17/93549.html</link><dc:creator>彭小虎(Tigerkin)</dc:creator><author>彭小虎(Tigerkin)</author><pubDate>Mon, 17 Aug 2009 01:22:00 GMT</pubDate><guid>http://www.cppblog.com/pxhszcn/archive/2009/08/17/93549.html</guid><wfw:comment>http://www.cppblog.com/pxhszcn/comments/93549.html</wfw:comment><comments>http://www.cppblog.com/pxhszcn/archive/2009/08/17/93549.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/pxhszcn/comments/commentRss/93549.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pxhszcn/services/trackbacks/93549.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: C++操作符优先级&nbsp;&nbsp;<a href='http://www.cppblog.com/pxhszcn/archive/2009/08/17/93549.html'>阅读全文</a><img src ="http://www.cppblog.com/pxhszcn/aggbug/93549.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pxhszcn/" target="_blank">彭小虎(Tigerkin)</a> 2009-08-17 09:22 <a href="http://www.cppblog.com/pxhszcn/archive/2009/08/17/93549.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的String类</title><link>http://www.cppblog.com/pxhszcn/archive/2008/10/28/65389.html</link><dc:creator>彭小虎(Tigerkin)</dc:creator><author>彭小虎(Tigerkin)</author><pubDate>Tue, 28 Oct 2008 12:36:00 GMT</pubDate><guid>http://www.cppblog.com/pxhszcn/archive/2008/10/28/65389.html</guid><wfw:comment>http://www.cppblog.com/pxhszcn/comments/65389.html</wfw:comment><comments>http://www.cppblog.com/pxhszcn/archive/2008/10/28/65389.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/pxhszcn/comments/commentRss/65389.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pxhszcn/services/trackbacks/65389.html</trackback:ping><description><![CDATA[<p>很久没更新了。。发一个自己写的String类，可以自己指定使用ANSI还是UNICODE。<a href="http://www.cppblog.com/Files/pxhszcn/string.rar">这里</a>下载</p><pre><span style="color: #0000ff">class</span> String
{
<span style="color: #0000ff">private</span>:
	wchar_t* wdata;
	<span style="color: #0000ff">char</span>* data;
<span style="color: #0000ff">public</span>:
	CharSet cs;
	String(CharSet _cs = USE_UNICODE, <span style="color: #0000ff">int</span> size = 0);	<span style="color: #008000">// 默认使用UNICODE，不分配内存（size为0）</span>
	String(<span style="color: #0000ff">const</span> String&amp; str, CharSet _cs = USE_ORIG);	<span style="color: #008000">// 必须是引用</span>
	String(<span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span>* str, CharSet _cs = USE_UNICODE);
	String(<span style="color: #0000ff">const</span> wchar_t* str, CharSet _cs = USE_UNICODE);
	~String();

	<span style="color: #008000">// 可以从外部直接获得字符串在内存中的地址（小心使用~~）</span>
	<span style="color: #0000ff">char</span>* AnsiStr();		
	wchar_t* UnicodeStr();

	String&amp; <span style="color: #0000ff">operator</span> =(<span style="color: #0000ff">const</span> String&amp; str);
	String&amp; <span style="color: #0000ff">operator</span> =(<span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span>* str);
	String&amp; <span style="color: #0000ff">operator</span> =(<span style="color: #0000ff">const</span> wchar_t* str);

	String <span style="color: #0000ff">operator</span> +(<span style="color: #0000ff">const</span> String&amp; str);
	String <span style="color: #0000ff">operator</span> +(<span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span>* str);
	String <span style="color: #0000ff">operator</span> +(<span style="color: #0000ff">const</span> wchar_t* str);

	String&amp; <span style="color: #0000ff">operator</span> +=(<span style="color: #0000ff">const</span> String&amp; str);
	String&amp; <span style="color: #0000ff">operator</span> +=(<span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span>* str);
	String&amp; <span style="color: #0000ff">operator</span> +=(<span style="color: #0000ff">const</span> wchar_t* str);
	
	<span style="color: #0000ff">int</span> Find(<span style="color: #0000ff">const</span> String&amp; str);
	<span style="color: #0000ff">int</span> Find(<span style="color: #0000ff">const</span> <span style="color: #0000ff">char</span>* str);
	<span style="color: #0000ff">int</span> Find(<span style="color: #0000ff">const</span> wchar_t* str);

	String SubStr(<span style="color: #0000ff">int</span> start, <span style="color: #0000ff">int</span> length);

	<span style="color: #0000ff">void</span> Swap(String&amp; str);

	<span style="color: #0000ff">int</span> Length() <span style="color: #0000ff">const</span>;
	<span style="color: #0000ff">void</span> Clear();
};</pre><img src ="http://www.cppblog.com/pxhszcn/aggbug/65389.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pxhszcn/" target="_blank">彭小虎(Tigerkin)</a> 2008-10-28 20:36 <a href="http://www.cppblog.com/pxhszcn/archive/2008/10/28/65389.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对C#中事件的一些想法和疑问</title><link>http://www.cppblog.com/pxhszcn/archive/2008/08/07/59016.html</link><dc:creator>彭小虎(Tigerkin)</dc:creator><author>彭小虎(Tigerkin)</author><pubDate>Thu, 07 Aug 2008 11:22:00 GMT</pubDate><guid>http://www.cppblog.com/pxhszcn/archive/2008/08/07/59016.html</guid><wfw:comment>http://www.cppblog.com/pxhszcn/comments/59016.html</wfw:comment><comments>http://www.cppblog.com/pxhszcn/archive/2008/08/07/59016.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/pxhszcn/comments/commentRss/59016.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pxhszcn/services/trackbacks/59016.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 今天接到leader布置的一个任务，从TextBox继承一个新的控件并为其增加一些功能，其中一个功能如下：Add a property: FormatString, when the text box lost focus, the content will be replace with string.Format(FormatString, actualContent)，我在做第二个：“当textbox失去焦点时自动格式化文本”的地方遇到了问题。。。&nbsp;&nbsp;<a href='http://www.cppblog.com/pxhszcn/archive/2008/08/07/59016.html'>阅读全文</a><img src ="http://www.cppblog.com/pxhszcn/aggbug/59016.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pxhszcn/" target="_blank">彭小虎(Tigerkin)</a> 2008-08-07 19:22 <a href="http://www.cppblog.com/pxhszcn/archive/2008/08/07/59016.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于int *a; int &amp;a; int &amp; *a; int * &amp;a</title><link>http://www.cppblog.com/pxhszcn/archive/2007/06/20/26727.html</link><dc:creator>彭小虎(Tigerkin)</dc:creator><author>彭小虎(Tigerkin)</author><pubDate>Wed, 20 Jun 2007 14:45:00 GMT</pubDate><guid>http://www.cppblog.com/pxhszcn/archive/2007/06/20/26727.html</guid><wfw:comment>http://www.cppblog.com/pxhszcn/comments/26727.html</wfw:comment><comments>http://www.cppblog.com/pxhszcn/archive/2007/06/20/26727.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cppblog.com/pxhszcn/comments/commentRss/26727.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/pxhszcn/services/trackbacks/26727.html</trackback:ping><description><![CDATA[
<p>上述的四条语句，前面两个很好理解，而后面两个，大部分C＋＋初学者都会比较困惑，今天我也是查阅了一些资料以后才恍然大悟。下面具体来说明一下：</p>
<p>int i;</p>
<p>int *a = &amp;i;//这里a是一个指针，它指向变量i</p>
<p>int &amp;b = i;//这里b是一个引用，它是变量i的引用，引用是什么？它的本质是什么？下面会具体讲述</p>
<p>int * &amp;c = a;//这里c是一个引用，它是指针a的引用</p>
<p>int &amp; *d;//这里d是一个指针，它指向引用，但引用不是实体，所以这是错误的</p>
<p><br/></p>
<p>先是第一个问题：引用的本质是什么？</p>
<blockquote>
<p>引用就是指针，两者没有区别。我们可以把引用想象成一个不需要"*"就可以访问变量的指针，对比如下程序：</p>
<p>void function(int *a)</p>
<p>{<br/>*a = 100;<br/>}</p>
<p>int main()</p>
<p>{<br/>int x=200;</p>
<p>int *b = &amp;x;</p>
<p>function(b);</p>
<p>return(0);<br/>}</p>
<br/><p>void function(int &amp;a)</p>
<p>{<br/>a = 100;<br/>}</p>
<p>int main()</p>
<p>{<br/>int x = 200;</p>
<p>function(x);</p>
<p>return(0);<br/>}</p>
<p>以上两段程序完成的功能是一样的。</p>
</blockquote>
<p>第二个问题：int * &amp;a和int &amp; *a</p>
<blockquote>
<p>我在写这两句语句时，在int 和*(&amp;)间空了一格，而后面的&amp;(*)紧跟a。原因是：分析此类语句时，先看a前紧跟的是什么，它决定了a的类型。而int后的一个空格是为了防止int *a, b;//a是指针，而b不是。</p>
</blockquote>
<p>其他：int * *a;</p>
<blockquote>
<p>它的功能和int * &amp;a一样，两者生成的二进制代码一样。这再一次说明了引用就是指针。</p>
</blockquote>
<p>以上如果有什么错误或什么建议，忘高手们指出哈！呵呵</p>
<img src ="http://www.cppblog.com/pxhszcn/aggbug/26727.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/pxhszcn/" target="_blank">彭小虎(Tigerkin)</a> 2007-06-20 22:45 <a href="http://www.cppblog.com/pxhszcn/archive/2007/06/20/26727.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>