﻿<?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>IT博客-学而不思则罔，思而不学则殆-随笔分类-C/C++</title><link>http://www.cnitblog.com/schkui/category/8917.html</link><description>有其事必有其理，
有其理必有其事 </description><language>zh-cn</language><lastBuildDate>Sat, 07 Sep 2013 04:57:34 GMT</lastBuildDate><pubDate>Sat, 07 Sep 2013 04:57:34 GMT</pubDate><ttl>60</ttl><item><title>opencv cv::MAT 和 QT QImage 相互转化代码</title><link>http://www.cnitblog.com/schkui/archive/2013/09/05/88529.html</link><dc:creator>易道</dc:creator><author>易道</author><pubDate>Thu, 05 Sep 2013 02:33:00 GMT</pubDate><guid>http://www.cnitblog.com/schkui/archive/2013/09/05/88529.html</guid><wfw:comment>http://www.cnitblog.com/schkui/comments/88529.html</wfw:comment><comments>http://www.cnitblog.com/schkui/archive/2013/09/05/88529.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/schkui/comments/commentRss/88529.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/schkui/services/trackbacks/88529.html</trackback:ping><description><![CDATA[<div>
<div><strong style="color: red;">&nbsp;QImage&nbsp;</strong><strong style="color: red;">&#8212;&#8212;&#8212;&#8212;》</strong><strong style="color: red;">&nbsp;cv::Mat</strong><br />&nbsp;cv::Mat mat = cv::Mat(m_leftQimage-&gt;height(), m_leftQimage-&gt;width(), CV_8UC4, (uchar*)m_leftQimage-&gt;bits(), m_leftQimage-&gt;bytesPerLine());&nbsp;</div>
<div>&nbsp;cv::Mat _small_mat ;// = cv::Mat(cv::Size(320,240),CV_8UC3);</div>
<div>&nbsp;cv::resize(mat,_small_mat, cv::Size(320, 240)) ;</div>
<div>&nbsp;cv::cvtColor(_small_mat, _small_mat, CV_BGR2RGB);</div>
<div>&nbsp;<span style="color: red;"><strong>cv::Mat &nbsp;</strong></span><strong style="color: red;">&#8212;&#8212;&#8212;&#8212;》&nbsp;</strong><span style="color: red;"><strong>&nbsp;QImage</strong></span><br /><br />&nbsp;QImage img = QImage((const unsigned char*)_small_mat.data, &nbsp;_small_mat.cols, _small_mat.rows, &nbsp;_small_mat.cols * _small_mat.channels(), &nbsp; //new add &nbsp;&nbsp;</div>
<div><span style="white-space:pre">	</span> QImage::Format_RGB888);</div>
</div><img src ="http://www.cnitblog.com/schkui/aggbug/88529.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/schkui/" target="_blank">易道</a> 2013-09-05 10:33 <a href="http://www.cnitblog.com/schkui/archive/2013/09/05/88529.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>易谈  04  C/C++语言 strlen wcslen sizeof的使用 和 char与wchar_t区别</title><link>http://www.cnitblog.com/schkui/archive/2013/03/18/87099.html</link><dc:creator>易道</dc:creator><author>易道</author><pubDate>Mon, 18 Mar 2013 15:36:00 GMT</pubDate><guid>http://www.cnitblog.com/schkui/archive/2013/03/18/87099.html</guid><wfw:comment>http://www.cnitblog.com/schkui/comments/87099.html</wfw:comment><comments>http://www.cnitblog.com/schkui/archive/2013/03/18/87099.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/schkui/comments/commentRss/87099.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/schkui/services/trackbacks/87099.html</trackback:ping><description><![CDATA[<span style="font-size: small"><font size="2">char*--strlen()返回的是字节数（对中英文不一致，中文占两个字节，不包括'/0'），<br />wchar_t--wcslen返回的是字符数（对中英文一致）。<br />sizeof返回的是字节数（包含'/0'，而'/0'在Unicode下也是占两个字节的）。<br /><br />// 测试代码待写</font></span><img src ="http://www.cnitblog.com/schkui/aggbug/87099.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/schkui/" target="_blank">易道</a> 2013-03-18 23:36 <a href="http://www.cnitblog.com/schkui/archive/2013/03/18/87099.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>易谈03 C++   重载与重写</title><link>http://www.cnitblog.com/schkui/archive/2013/03/18/87094.html</link><dc:creator>易道</dc:creator><author>易道</author><pubDate>Mon, 18 Mar 2013 09:01:00 GMT</pubDate><guid>http://www.cnitblog.com/schkui/archive/2013/03/18/87094.html</guid><wfw:comment>http://www.cnitblog.com/schkui/comments/87094.html</wfw:comment><comments>http://www.cnitblog.com/schkui/archive/2013/03/18/87094.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/schkui/comments/commentRss/87094.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/schkui/services/trackbacks/87094.html</trackback:ping><description><![CDATA[1、重载:<br />方法名相同，参数列表不同<br />2、重写：<br />也叫覆盖，指在子类中定义一个与父类中方法同名同参数列表的方法。因为子类会继承父类的方法，而重写就是将从父类继承过来的方法重新定义一次，重新填写方法中的代码 <br /><br />// 待写 <img src ="http://www.cnitblog.com/schkui/aggbug/87094.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/schkui/" target="_blank">易道</a> 2013-03-18 17:01 <a href="http://www.cnitblog.com/schkui/archive/2013/03/18/87094.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>易谈02 C++  类的成员初始化列表 member initialization list</title><link>http://www.cnitblog.com/schkui/archive/2013/03/18/87092.html</link><dc:creator>易道</dc:creator><author>易道</author><pubDate>Mon, 18 Mar 2013 07:56:00 GMT</pubDate><guid>http://www.cnitblog.com/schkui/archive/2013/03/18/87092.html</guid><wfw:comment>http://www.cnitblog.com/schkui/comments/87092.html</wfw:comment><comments>http://www.cnitblog.com/schkui/archive/2013/03/18/87092.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/schkui/comments/commentRss/87092.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/schkui/services/trackbacks/87092.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主要参考 Effective C++&nbsp; 第四条款&nbsp; 确定对象被使用前一辈初始化&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Make sure that Objects are initialized before they're used</p>
<ul><li>成员初始化列表 member initialization list ，是用逗号分开的程序以及初始值的列表。 <br /></li><li>对于大多数类型而言，只调用一次Copy 构造函数， 比起来先调default 构造函数后，在调用copy assignment 操作符，有时候高效很多。对于内置的类型，其实初始化和赋值的成本是相同。但是为了一致性也通过程序初值来初始化。<br /></li><li>对于Const &nbsp;和 reference 他们一定是要有初值， 不能被赋值。 所以只能在这里了 。见代码。<br />&nbsp;&nbsp; 
<p>&nbsp;&nbsp; // 编译vc++ 2010 错误提示<br />&nbsp;&nbsp;// error C2758: &#8220;CK::CNoOrderMemeberInitialization::a_ref&#8221;: 必须在构造函数基/成员初始值设定项列表中初始化<br />&nbsp;&nbsp;//int &amp; a_ref ;<br /><br />&nbsp;&nbsp;// 编译vc++ 2010 错误提示<br />&nbsp;&nbsp;// error C2758: &#8220;CK::CNoOrderMemeberInitialization::MAX_LEN&#8221;: 必须在构造函数基/成员初始值设定项列表中初始化<br />&nbsp;&nbsp;//const int&nbsp; MAX_LEN ;</p></li><li>
<p>&nbsp;class 的成员变量的总是以其声明的顺序初始化。 </p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" /><span style="color: #000000">#include&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">stdafx.h</span><span style="color: #000000">"</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" />#include&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">iostream</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" /><br /><img id="Codehighlighter1_41_115_Open_Image" onclick="this.style.display='none'; Codehighlighter1_41_115_Open_Text.style.display='none'; Codehighlighter1_41_115_Closed_Image.style.display='inline'; Codehighlighter1_41_115_Closed_Text.style.display='inline';" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_41_115_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_41_115_Closed_Text.style.display='none'; Codehighlighter1_41_115_Open_Image.style.display='inline'; Codehighlighter1_41_115_Open_Text.style.display='inline';" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_41_115_Closed_Text">/**/</span><span id="Codehighlighter1_41_115_Open_Text"><span style="color: #808080">////////////////////////////////////////////////////////////////////////</span><span style="color: #008000">//</span><span style="color: #808080"></span></span><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" /><span style="color: #008000">//</span><span style="color: #008000">&nbsp;一个不按照&nbsp;内部声明顺序&nbsp;进行member&nbsp;initialization</span><span style="color: #008000"><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">namespace</span><span style="color: #000000">&nbsp;CK<br /><img id="Codehighlighter1_169_713_Open_Image" onclick="this.style.display='none'; Codehighlighter1_169_713_Open_Text.style.display='none'; Codehighlighter1_169_713_Closed_Image.style.display='inline'; Codehighlighter1_169_713_Closed_Text.style.display='inline';" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_169_713_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_169_713_Closed_Text.style.display='none'; Codehighlighter1_169_713_Open_Image.style.display='inline'; Codehighlighter1_169_713_Open_Text.style.display='inline';" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_169_713_Closed_Text"><img alt="" src="http://www.cnitblog.com/Images/dot.gif" /></span><span id="Codehighlighter1_169_713_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;CNoOrderMemeberInitialization<br /><img id="Codehighlighter1_209_710_Open_Image" onclick="this.style.display='none'; Codehighlighter1_209_710_Open_Text.style.display='none'; Codehighlighter1_209_710_Closed_Image.style.display='inline'; Codehighlighter1_209_710_Closed_Text.style.display='inline';" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_209_710_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_209_710_Closed_Text.style.display='none'; Codehighlighter1_209_710_Open_Image.style.display='inline'; Codehighlighter1_209_710_Open_Text.style.display='inline';" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_209_710_Closed_Text"><img alt="" src="http://www.cnitblog.com/Images/dot.gif" /></span><span id="Codehighlighter1_209_710_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">:<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CNoOrderMemeberInitialization(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;x,&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;y)<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;n_second(x)&nbsp;,&nbsp;n_first(&nbsp;n_second&nbsp;)&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">这里先初始化n_second，&nbsp;然后再给n_first赋值&nbsp;&nbsp;？？会怎么样</span><span style="color: #008000"><br /><img id="Codehighlighter1_349_354_Open_Image" onclick="this.style.display='none'; Codehighlighter1_349_354_Open_Text.style.display='none'; Codehighlighter1_349_354_Closed_Image.style.display='inline'; Codehighlighter1_349_354_Closed_Text.style.display='inline';" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_349_354_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_349_354_Closed_Text.style.display='none'; Codehighlighter1_349_354_Open_Image.style.display='inline'; Codehighlighter1_349_354_Open_Text.style.display='inline';" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_349_354_Closed_Text"><img alt="" src="http://www.cnitblog.com/Images/dot.gif" /></span><span id="Codehighlighter1_349_354_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">~</span><span style="color: #000000">CNoOrderMemeberInitialization()<br /><img id="Codehighlighter1_393_398_Open_Image" onclick="this.style.display='none'; Codehighlighter1_393_398_Open_Text.style.display='none'; Codehighlighter1_393_398_Closed_Image.style.display='inline'; Codehighlighter1_393_398_Closed_Text.style.display='inline';" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_393_398_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_393_398_Closed_Text.style.display='none'; Codehighlighter1_393_398_Open_Image.style.display='inline'; Codehighlighter1_393_398_Open_Text.style.display='inline';" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_393_398_Closed_Text"><img alt="" src="http://www.cnitblog.com/Images/dot.gif" /></span><span id="Codehighlighter1_393_398_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">:<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;&nbsp;n_first&nbsp;;<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;&nbsp;n_second&nbsp;;&nbsp;<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;编译vc++&nbsp;2010&nbsp;错误提示<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;error&nbsp;C2758:&nbsp;&#8220;CK::CNoOrderMemeberInitialization::a_ref&#8221;:&nbsp;必须在构造函数基/成员初始值设定项列表中初始化<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">int&nbsp;&amp;&nbsp;a_ref&nbsp;;<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" /><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;编译vc++&nbsp;2010&nbsp;错误提示<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;error&nbsp;C2758:&nbsp;&#8220;CK::CNoOrderMemeberInitialization::MAX_LEN&#8221;:&nbsp;必须在构造函数基/成员初始值设定项列表中初始化<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">const&nbsp;int&nbsp;&nbsp;MAX_LEN&nbsp;;</span><span style="color: #008000"><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">;<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" />}</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" /></span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;_tmain(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;argc,&nbsp;_TCHAR</span><span style="color: #000000">*</span><span style="color: #000000">&nbsp;argv[])<br /><img id="Codehighlighter1_755_1006_Open_Image" onclick="this.style.display='none'; Codehighlighter1_755_1006_Open_Text.style.display='none'; Codehighlighter1_755_1006_Closed_Image.style.display='inline'; Codehighlighter1_755_1006_Closed_Text.style.display='inline';" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_755_1006_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_755_1006_Closed_Text.style.display='none'; Codehighlighter1_755_1006_Open_Image.style.display='inline'; Codehighlighter1_755_1006_Open_Text.style.display='inline';" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_755_1006_Closed_Text"><img alt="" src="http://www.cnitblog.com/Images/dot.gif" /></span><span id="Codehighlighter1_755_1006_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;CK::CNoOrderMemeberInitialization&nbsp;&nbsp;test(</span><span style="color: #000000">2</span><span style="color: #000000">&nbsp;,</span><span style="color: #000000">10</span><span style="color: #000000">)&nbsp;;<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">期盼着&nbsp;test.n_first=2&nbsp;&nbsp;test.n_second=2<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">程序的输出test.n_first=-858993460&nbsp;&nbsp;test.n_second=2</span><span style="color: #008000"><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;std::cout&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">test.n_first=</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;test.n_first&nbsp;&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;&nbsp;test.n_second=</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;test.n_second&nbsp;</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">&nbsp;std::endl&nbsp;;<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/InBlock.gif" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" />}</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" /><br /><img alt="" align="top" src="http://www.cnitblog.com/images/OutliningIndicators/None.gif" /></span></div><br />
<p>&nbsp;</p></li></ul>
<p><br /><br /><br /></p> <img src ="http://www.cnitblog.com/schkui/aggbug/87092.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/schkui/" target="_blank">易道</a> 2013-03-18 15:56 <a href="http://www.cnitblog.com/schkui/archive/2013/03/18/87092.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>易谈01   视C++为一个语言联邦联邦   View C++ as  a federation of languages</title><link>http://www.cnitblog.com/schkui/archive/2013/03/18/87091.html</link><dc:creator>易道</dc:creator><author>易道</author><pubDate>Mon, 18 Mar 2013 06:36:00 GMT</pubDate><guid>http://www.cnitblog.com/schkui/archive/2013/03/18/87091.html</guid><wfw:comment>http://www.cnitblog.com/schkui/comments/87091.html</wfw:comment><comments>http://www.cnitblog.com/schkui/archive/2013/03/18/87091.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/schkui/comments/commentRss/87091.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/schkui/services/trackbacks/87091.html</trackback:ping><description><![CDATA[<ul><li>&nbsp;C&nbsp; 说到底C++仍然是个C为基础，区块（blocks），语句（statements）,预处理（preprocessor）,内置数据类型（built-in data types）,数组 (arrays) ,&nbsp;指针（points）&nbsp;等统统是来自C，很多时候C++对问题的解法不过是较高基本的C的接法， （条款2的预处理之外的另外选择，12 的对象资源的管理）&nbsp;，但是当你以C++内的Ｃ成分工作时候，搞笑的编程守则映照出Ｃ的局限，没有模板templates, 没有异常 ，没有重载。</li><li>&nbsp;Object-Orented C++&nbsp; 这部分也就是C with Class所诉求&nbsp; <br />&nbsp;Classes （包括构造函数和析构函数）<br />&nbsp;封装(encapsulation) <br />&nbsp;继承(inheritance)<br />&nbsp;多态(polymorphism)[<span style="color: red">运行时多态是动态多态，其具体引用的</span><a href="http://baike.baidu.com/view/2387.htm" target="_blank"><u><font color="#0000ff"><span style="color: red">对象</span></font></u></a><span style="color: red">在运行时才能确定。编译时多态是</span><a href="http://baike.baidu.com/view/612026.htm" target="_blank"><u><font color="#0000ff"><span style="color: red">静态</span></font></u></a><span style="color: red">多态，在编译时就可以确定</span><a href="http://baike.baidu.com/view/2387.htm" target="_blank"><u><font color="#0000ff"><span style="color: red">对象</span></font></u></a><span style="color: red">使用的形式。]<br /></span><span style="color: #000000">virtual 函数(动态绑定) 这一部分是面向对象的设计古典守则在C++直接实施</span></li><li><span style="color: #000000">Template C++ 是C++ 泛型编程部分，<br />还带来的崭新的编程泛型 template metaprogramming (TMP 模板元编程） ---参照C++ 新思维</span></li><li><span style="color: #000000">ＳＴＬ 是个template 程序库，他对容器（containers)&nbsp; 迭代器（iterators)&nbsp; 算法（algorithms)&nbsp; 以及函数对象<br />function objects</span></li></ul> <img src ="http://www.cnitblog.com/schkui/aggbug/87091.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/schkui/" target="_blank">易道</a> 2013-03-18 14:36 <a href="http://www.cnitblog.com/schkui/archive/2013/03/18/87091.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GCC和C99的不定参数宏</title><link>http://www.cnitblog.com/schkui/archive/2013/03/15/87066.html</link><dc:creator>易道</dc:creator><author>易道</author><pubDate>Fri, 15 Mar 2013 06:49:00 GMT</pubDate><guid>http://www.cnitblog.com/schkui/archive/2013/03/15/87066.html</guid><wfw:comment>http://www.cnitblog.com/schkui/comments/87066.html</wfw:comment><comments>http://www.cnitblog.com/schkui/archive/2013/03/15/87066.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/schkui/comments/commentRss/87066.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/schkui/services/trackbacks/87066.html</trackback:ping><description><![CDATA[<div style="widows: 2; text-transform: none; text-indent: 0px; font: 13px/16px Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" id="content" an="0" tn="8" al="0" c="content mod-cs-content text-content clearfix" imgnum="0" t="div" l="30" ptl="25"><span style="widows: 2; text-transform: none; text-indent: 0px; display: inline !important; font: 13px/16px Simsun; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">gcc的</span><font style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 13px/16px Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(198,10,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="c1" t="font" l="4" ptl="26">不定参数</font><span style="widows: 2; text-transform: none; text-indent: 0px; display: inline !important; font: 13px/16px Simsun; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">宏</span><br style="widows: 2; text-transform: none; text-indent: 0px; font: 13px/16px Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; text-indent: 0px; display: inline !important; font: 13px/16px Simsun; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">#define debug(x, arg...)&nbsp; printf((x), ##arg)</span><br style="widows: 2; text-transform: none; text-indent: 0px; font: 13px/16px Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><font style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 13px/16px Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(198,10,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="c1" t="font" l="0" ptl="40">C99</font><span style="widows: 2; text-transform: none; text-indent: 0px; display: inline !important; font: 13px/16px Simsun; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">的</span><font style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; font: 13px/16px Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(198,10,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="c1" t="font" l="4" ptl="41">不定参数</font><span style="widows: 2; text-transform: none; text-indent: 0px; display: inline !important; font: 13px/16px Simsun; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">宏</span><br style="widows: 2; text-transform: none; text-indent: 0px; font: 13px/16px Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" /><span style="widows: 2; text-transform: none; text-indent: 0px; display: inline !important; font: 13px/16px Simsun; white-space: normal; orphans: 2; float: none; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">#define debug(...)&nbsp; printf( __VA_ARGS__)</span></div>  <img src ="http://www.cnitblog.com/schkui/aggbug/87066.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/schkui/" target="_blank">易道</a> 2013-03-15 14:49 <a href="http://www.cnitblog.com/schkui/archive/2013/03/15/87066.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>