﻿<?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++博客-LoveSi</title><link>http://www.cppblog.com/LoveSi/</link><description>自处超然，处人蔼然，无事澄然，遇事斩然，得意淡然，失意泰然</description><language>zh-cn</language><lastBuildDate>Fri, 17 Apr 2026 12:53:56 GMT</lastBuildDate><pubDate>Fri, 17 Apr 2026 12:53:56 GMT</pubDate><ttl>60</ttl><item><title>c++面试常问的问题</title><link>http://www.cppblog.com/LoveSi/archive/2010/10/16/130012.html</link><dc:creator>LoveSi</dc:creator><author>LoveSi</author><pubDate>Sat, 16 Oct 2010 12:01:00 GMT</pubDate><guid>http://www.cppblog.com/LoveSi/archive/2010/10/16/130012.html</guid><wfw:comment>http://www.cppblog.com/LoveSi/comments/130012.html</wfw:comment><comments>http://www.cppblog.com/LoveSi/archive/2010/10/16/130012.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/LoveSi/comments/commentRss/130012.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/LoveSi/services/trackbacks/130012.html</trackback:ping><description><![CDATA[1.c与c++的区别<br><br>&nbsp;&nbsp; <span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>1.</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">全新的程序程序思维，</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">语言是面向过程的，而</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">＋＋是面向对象的。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>&nbsp;<br>&nbsp;&nbsp;&nbsp;2</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">语言有标准的函数库，它们松散的，只是把功能相同的函数放在一个头文件中；而</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">对于大多数的函数都是有集成的很紧密，特别是</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">语言中没有的</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">中的</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>API</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">是对</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>Window</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">系统的大多数</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>API</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">有机的组合，是一个集体。但你也可能单独调用</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>API</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>&nbsp;<br>&nbsp;&nbsp;&nbsp;3</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，特别是</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">中的图形处理，它和语言的图形有很大的区别。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">语言中的图形处理函数基本上是不能用在中</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">中的。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">语言标准中不包括图形处理。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>&nbsp;<br>&nbsp;&nbsp;&nbsp;4</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">和</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">中都有结构的概念，但是在</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">语言中结构只有成员变量，而没成员方法，而在</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">中结构中，它可以有自己的成员变量和成员函数。但是在</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">语言中结构的成员是公共的，什么想访问它的都可以访问；而在</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>VC++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">中它没有加限定符的为私有的。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>&nbsp;<br>&nbsp;&nbsp;&nbsp;4</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">语言可以写很多方面的程序，但是</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">可以写得更多更好，</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">可以写基于</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>DOSr</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">程序，写</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>DLL</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，写控件，写系统。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>&nbsp;<br>&nbsp;&nbsp;&nbsp;5</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">语言对程序的文件的组织是松散的，几乎是全要程序处理；而</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>c++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">对文件的组织是以工程，各文件分类明确。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>&nbsp;<br>&nbsp;&nbsp;&nbsp;6</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">中的</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>IDE</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">很智能，和</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>VB</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">一样，有的功能可能比</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>VB</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">还强。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>&nbsp;<br>&nbsp;&nbsp;&nbsp;7</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">对可以自动生成你想要的程序结构使你可以省了很多时间。有很多可用的工具如加入</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>MFC</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">中的类的时候，加入变量的时候等等。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>&nbsp;<br>&nbsp;&nbsp;&nbsp;8</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>C++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">中的附加工具也有很多，可以进行系统的分析，可以查看</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>API</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">；可以查看控件。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>&nbsp;<br>&nbsp;&nbsp;&nbsp;9</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，调试功能强大，并且方法多样。<br><font style="BACKGROUND-COLOR: #cce8cf" color=#000000 size=3><br>2.数组和链表的优缺点<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;<font color=#5e5e5e size=2 face=Verdana><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt">数组在内存中开辟连续的一块区域，如果一个数据要两个内存单元，一组</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang=EN-US>5</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt">个数据</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt" lang=EN-US>10</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt">个单元就够了，无需标记其地址，因为数组定义时候标顶了第一个原许的地址，其他四个都知道了。</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt">链表可以是连续的，也可以是不连续的，但一般都是不连续的。<br></span>&nbsp;&nbsp;1.<span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">链表灵活，数组简洁。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US> &nbsp; <br><clk>&nbsp; 2</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">。要在数据中间做插入或删除，链表高效些，因为数组得把数据往前</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>/</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">后挪。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US> &nbsp; <br></clk>&nbsp; 3</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">。数组的简索比链表快，因为它可以直接用偏移</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>(offset)</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">而链表要一接接地找。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US> &nbsp; <br>&nbsp; 4</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">。数组的建立</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-fareast-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>/</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">销毁比链表要快。</span>&nbsp;&nbsp;<br><font color=#000000 size=3>3. malloc/new, free/delete之间的区别<br></font>&nbsp;&nbsp;&nbsp; </font></font><span style="FONT-SIZE: 10pt">malloc,free 是C语言的标准函数库,new/delete 是C++的运算符,他们都可以动态申请内存和释放内存;&nbsp;<br>&nbsp;&nbsp;&nbsp;对于非内部数据类型的对象而言, 光用malloc/free无法满足动态对象的需求. 对象要创建的同时要自动执行构造函数,对象在消亡之前要执行析构函数,由于malloc/free不是运算符,不在编译器控制权限之内,不能把构造函数和析构函数的务强加于malloc/free上. 因此,C++语言需要一个动态内存分配和初始化的运算符new和一个能完成清理与释放内存的运算符delete <br><br>不要企图用malloc/free来完成动态对象的内存管理，应该用new/delete。由于内部数据类型的&#8220;对象&#8221;没有构造与析构的过程，对它们而言malloc/free和new/delete是等价的。 <br>既然new/delete的功能完全覆盖了malloc/free，为什么C++不把malloc/free淘汰出局呢？这是因为C++程序经常要调用C函数，而C程序只能用malloc/free管理动态内存。 <br>　　malloc/free功能还有一好处，就是可以和realloc组合使用，在需要扩大内存块时不一定会导致内存移动；而用new/delete实现时只能用new[]-copy-delete[]操作序列完成，每次都会导致内存移动。 <br><br><br></span></span>
<img src ="http://www.cppblog.com/LoveSi/aggbug/130012.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/LoveSi/" target="_blank">LoveSi</a> 2010-10-16 20:01 <a href="http://www.cppblog.com/LoveSi/archive/2010/10/16/130012.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>笔试碰到的算法题</title><link>http://www.cppblog.com/LoveSi/archive/2010/10/10/129350.html</link><dc:creator>LoveSi</dc:creator><author>LoveSi</author><pubDate>Sun, 10 Oct 2010 08:37:00 GMT</pubDate><guid>http://www.cppblog.com/LoveSi/archive/2010/10/10/129350.html</guid><wfw:comment>http://www.cppblog.com/LoveSi/comments/129350.html</wfw:comment><comments>http://www.cppblog.com/LoveSi/archive/2010/10/10/129350.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/LoveSi/comments/commentRss/129350.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/LoveSi/services/trackbacks/129350.html</trackback:ping><description><![CDATA[至今笔试都悲剧的被拒，先发几道笔试中遇到的算法题<br>1.<font color=#0000ff>给定一整数序列A1， A2，... An （可能有负数），求A1~An的一个子序列Ai~Aj，使得Ai到Aj的和最大.<br>例如：整数序列-2, 11, -4, 13, -5, 2, -5, -3, 12, -9的最大子序列的和为21。<br>
<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"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;max_sub2(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;a[],&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;size)<br><img id=Codehighlighter1_32_219_Open_Image onclick="this.style.display='none'; Codehighlighter1_32_219_Open_Text.style.display='none'; Codehighlighter1_32_219_Closed_Image.style.display='inline'; Codehighlighter1_32_219_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_32_219_Closed_Image onclick="this.style.display='none'; Codehighlighter1_32_219_Closed_Text.style.display='none'; Codehighlighter1_32_219_Open_Image.style.display='inline'; Codehighlighter1_32_219_Open_Text.style.display='inline';" align=top src="http://www.cppblog.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_32_219_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_32_219_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;&nbsp;max&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;temp_sum&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;size;&nbsp;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_100_204_Open_Image onclick="this.style.display='none'; Codehighlighter1_100_204_Open_Text.style.display='none'; Codehighlighter1_100_204_Closed_Image.style.display='inline'; Codehighlighter1_100_204_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_100_204_Closed_Image onclick="this.style.display='none'; Codehighlighter1_100_204_Closed_Text.style.display='none'; Codehighlighter1_100_204_Open_Image.style.display='inline'; Codehighlighter1_100_204_Open_Text.style.display='inline';" align=top src="http://www.cppblog.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_100_204_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_100_204_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp_sum&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;a[i];<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(temp_sum&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;max)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;temp_sum;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(temp_sum&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;temp_sum&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;max;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span></div>
</font>2. 任何一个基于"比较"的内部排序的算法，若对6个元素进行排序，则在最坏情况下所需的比较次数至少为____。<br>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">&nbsp;&nbsp;&nbsp;据严蔚敏数据结构，问题等价于给</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang=EN-US>n</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">个不同的砝码和一台天平要称几次能分辨它们的顺序。</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">含</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang=EN-US>n</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">个记录的序列可能出现的初始状态有</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang=EN-US>n!</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">个，则描述</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang=EN-US>n</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">个记录排序过程的判定树必有</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang=EN-US>n!</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">个叶子节点，若有</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang=EN-US>n</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">个叶子节点，则二叉树的高度至少为</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang=EN-US>log 2 n</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">，（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang=EN-US>2</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">为底）</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">，也即是说必然存在一条长为</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang=EN-US>log 2 n!</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">的路径，求出来</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang=EN-US>n</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">为</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体" lang=EN-US>10,(取上界)<o:p></o:p></span></p>
3. 对一个表达式求值时，首先要把表达式转换为后缀表达式，然后在利用栈求值。
<img src ="http://www.cppblog.com/LoveSi/aggbug/129350.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/LoveSi/" target="_blank">LoveSi</a> 2010-10-10 16:37 <a href="http://www.cppblog.com/LoveSi/archive/2010/10/10/129350.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>淘宝笔试</title><link>http://www.cppblog.com/LoveSi/archive/2010/10/10/129349.html</link><dc:creator>LoveSi</dc:creator><author>LoveSi</author><pubDate>Sun, 10 Oct 2010 08:28:00 GMT</pubDate><guid>http://www.cppblog.com/LoveSi/archive/2010/10/10/129349.html</guid><wfw:comment>http://www.cppblog.com/LoveSi/comments/129349.html</wfw:comment><comments>http://www.cppblog.com/LoveSi/archive/2010/10/10/129349.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/LoveSi/comments/commentRss/129349.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/LoveSi/services/trackbacks/129349.html</trackback:ping><description><![CDATA[1.如果n为偶数，则将它除以2，如果n为奇数，则将它加1或者减1。问对于一个给定的n，怎样才能用最少的步骤将它变到1。<br>例如 n= 61<br>n-- 60<br>n/2 30<br>n/2 15<br>n++ 16<br>n/2 8<br>n/2 4<br>n/2 2<br>n/2 1<br><br>参照网上的讨论，这道题的意思其实是看最后两位的二进制数：AB。如果B为偶数，则直接/ 2，如果B为奇数，则看A的值，若A为1，则该值+1，若为0，则该值-1。
<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"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #000000">#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 align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;std::cin;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;std::cout;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;std::endl;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br><img id=Codehighlighter1_82_273_Open_Image onclick="this.style.display='none'; Codehighlighter1_82_273_Open_Text.style.display='none'; Codehighlighter1_82_273_Closed_Image.style.display='inline'; Codehighlighter1_82_273_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_82_273_Closed_Image onclick="this.style.display='none'; Codehighlighter1_82_273_Closed_Text.style.display='none'; Codehighlighter1_82_273_Open_Image.style.display='inline'; Codehighlighter1_82_273_Open_Text.style.display='inline';" align=top src="http://www.cppblog.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_82_273_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_82_273_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;n;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;cin</span><span style="COLOR: #000000">&gt;&gt;</span><span style="COLOR: #000000">n;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;count&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">(&nbsp;n&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">)<br><img id=Codehighlighter1_133_229_Open_Image onclick="this.style.display='none'; Codehighlighter1_133_229_Open_Text.style.display='none'; Codehighlighter1_133_229_Closed_Image.style.display='inline'; Codehighlighter1_133_229_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_133_229_Closed_Image onclick="this.style.display='none'; Codehighlighter1_133_229_Closed_Text.style.display='none'; Codehighlighter1_133_229_Open_Image.style.display='inline'; Codehighlighter1_133_229_Open_Text.style.display='inline';" align=top src="http://www.cppblog.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_133_229_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_133_229_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;n</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;</span><span style="COLOR: #000000">/=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(&nbsp;n&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n</span><span style="COLOR: #000000">--</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n&nbsp;</span><span style="COLOR: #000000">+=</span><span style="COLOR: #000000">&nbsp;(n&nbsp;</span><span style="COLOR: #000000">%</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">times:</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">count</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">endl;<br><img align=top src="http://www.cppblog.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 align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></div>
<p><br>2.编一个有3个线程的程序，由Main主线程进入，生产者线程产生一个随机的整数。这个整数存在List中，再由消费者线程读取List数据，并显示。<br>3.列举3种你最喜欢的语言（Java/c++）框架，它们的特点和你喜欢的原因。<br>4.前缀表达式和后缀表达式的问题。<br>&nbsp;&nbsp;&nbsp;35,15,+,80,70,-,*,20,/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //后缀表达方式<br>&nbsp;&nbsp;&nbsp;(((35+15)*(80-70))/20）=25&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //中缀表达方式&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;/,*,+,35,15,-,80,70, 20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //前缀表达方式 </p>
<p>人们习惯的运算方式是中缀表达式。而碰到前缀，后缀方式。。迷茫。其实仅仅是一种表达式子的方式而已（不被你习惯的方式），我这里教你一种也许你老师都没跟你讲的简单转换方式。一个中缀式到其他式子的转换方法~~这里我给出一个中缀表达式~&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a+b*c-(d+e)<br>第一步：按照运算符的优先级对所有的运算单位加括号~<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 式子变成拉：((a+(b*c))-(d+e))<br>第二步：转换前缀与后缀表达式<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前缀：把运算符号移动到对应的括号前面<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;则变成拉：-( +(a *(bc)) +(de))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;把括号去掉：-+a*bc+de&nbsp; 前缀式子出现<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 后缀：把运算符号移动到对应的括号后面<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 则变成拉：((a(bc)* )- (de)+ )-<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 把括号去掉：abc*+de+-&nbsp; 后缀式子出现<br>发现没有，前缀式，后缀式是不需要用括号来进行优先级的确定的。<br>后天晚上会有笔试，我会把最新的发上来~~~~~~~~<br><br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2011年的笔试<br>1前面的选择题记不清了.就上c++的答题吧？<br>2.不用sizeof，计算int的字节数<br>3.MAC地址字符串XX：XX：~~~最后改成XX-XX-XX-XX的标准形式<br>4.色子问题：有一枚筛子，每个面都有一个数字：1~6。很显然，你会倾向于认为这6个面出现的概率是相等的，也就是，你倾向认为：P(x1)=P(x2)=&#8230;=P(x6)=1/6其中，P(xi)表示出现数字xi的概率。<br>假如，我告诉你，这枚筛子与其它筛子不同，似乎，他很容易滚到4或者5这个面，所以这个筛子滚了好多次以后，它出现的平均值是4.5。这个时候，你会怎样分配P(x1)~P(x6)的概率呢？</p>
<p><br><br>&nbsp;</p>
<img src ="http://www.cppblog.com/LoveSi/aggbug/129349.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/LoveSi/" target="_blank">LoveSi</a> 2010-10-10 16:28 <a href="http://www.cppblog.com/LoveSi/archive/2010/10/10/129349.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>智力题目集锦</title><link>http://www.cppblog.com/LoveSi/archive/2010/10/09/129261.html</link><dc:creator>LoveSi</dc:creator><author>LoveSi</author><pubDate>Sat, 09 Oct 2010 15:39:00 GMT</pubDate><guid>http://www.cppblog.com/LoveSi/archive/2010/10/09/129261.html</guid><wfw:comment>http://www.cppblog.com/LoveSi/comments/129261.html</wfw:comment><comments>http://www.cppblog.com/LoveSi/archive/2010/10/09/129261.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/LoveSi/comments/commentRss/129261.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/LoveSi/services/trackbacks/129261.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1.你有5瓶药，每个药丸重10克，只有一瓶受到污染的药丸重量发生了变化，每个药丸重9克。给你一个天平，你怎样一次就能测出哪一瓶是受到污染的药呢？—— 1给5个瓶子标上1、2、3、4、5。　　 2从1号瓶中取1个药丸，2号瓶中取2个药丸，3号瓶中取3个药丸，4号瓶中取4个药丸，5号瓶中取5个药丸。　　 3把它们全部放在天平上称一下重量。　　 4现在用1&#215;10＋2&#215;10＋3&#21...&nbsp;&nbsp;<a href='http://www.cppblog.com/LoveSi/archive/2010/10/09/129261.html'>阅读全文</a><img src ="http://www.cppblog.com/LoveSi/aggbug/129261.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/LoveSi/" target="_blank">LoveSi</a> 2010-10-09 23:39 <a href="http://www.cppblog.com/LoveSi/archive/2010/10/09/129261.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>诺西笔试题目</title><link>http://www.cppblog.com/LoveSi/archive/2010/10/07/128958.html</link><dc:creator>LoveSi</dc:creator><author>LoveSi</author><pubDate>Thu, 07 Oct 2010 14:51:00 GMT</pubDate><guid>http://www.cppblog.com/LoveSi/archive/2010/10/07/128958.html</guid><wfw:comment>http://www.cppblog.com/LoveSi/comments/128958.html</wfw:comment><comments>http://www.cppblog.com/LoveSi/archive/2010/10/07/128958.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cppblog.com/LoveSi/comments/commentRss/128958.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/LoveSi/services/trackbacks/128958.html</trackback:ping><description><![CDATA[1.统计1 个word（32bit）里面的1的bit数；<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<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"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;count_1(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;word)<br><img id=Codehighlighter1_22_120_Open_Image onclick="this.style.display='none'; Codehighlighter1_22_120_Open_Text.style.display='none'; Codehighlighter1_22_120_Closed_Image.style.display='inline'; Codehighlighter1_22_120_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_22_120_Closed_Image onclick="this.style.display='none'; Codehighlighter1_22_120_Closed_Text.style.display='none'; Codehighlighter1_22_120_Open_Image.style.display='inline'; Codehighlighter1_22_120_Open_Text.style.display='inline';" align=top src="http://www.cppblog.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_22_120_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_22_120_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.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;num&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"><br><img id=Codehighlighter1_64_104_Open_Image onclick="this.style.display='none'; Codehighlighter1_64_104_Open_Text.style.display='none'; Codehighlighter1_64_104_Closed_Image.style.display='inline'; Codehighlighter1_64_104_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_64_104_Closed_Image onclick="this.style.display='none'; Codehighlighter1_64_104_Closed_Text.style.display='none'; Codehighlighter1_64_104_Open_Image.style.display='inline'; Codehighlighter1_64_104_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">&nbsp;(word&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">)&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_64_104_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_64_104_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;num</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;word&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;word&nbsp;</span><span style="COLOR: #000000">&amp;</span><span style="COLOR: #000000">&nbsp;(word&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;num;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;main()<br><img id=Codehighlighter1_134_193_Open_Image onclick="this.style.display='none'; Codehighlighter1_134_193_Open_Text.style.display='none'; Codehighlighter1_134_193_Closed_Image.style.display='inline'; Codehighlighter1_134_193_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_134_193_Closed_Image onclick="this.style.display='none'; Codehighlighter1_134_193_Closed_Text.style.display='none'; Codehighlighter1_134_193_Open_Image.style.display='inline'; Codehighlighter1_134_193_Open_Text.style.display='inline';" align=top src="http://www.cppblog.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_134_193_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_134_193_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;word&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1200</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;num&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;count_1(word);<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.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 align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></div>
2. strcpy的实现<br>
<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"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">strcpy(</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">dest,&nbsp;</span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">src)<br><img id=Codehighlighter1_42_206_Open_Image onclick="this.style.display='none'; Codehighlighter1_42_206_Open_Text.style.display='none'; Codehighlighter1_42_206_Closed_Image.style.display='inline'; Codehighlighter1_42_206_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_42_206_Closed_Image onclick="this.style.display='none'; Codehighlighter1_42_206_Closed_Text.style.display='none'; Codehighlighter1_42_206_Open_Image.style.display='inline'; Codehighlighter1_42_206_Open_Text.style.display='inline';" align=top src="http://www.cppblog.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_42_206_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_42_206_Open_Text><span style="COLOR: #000000">{<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(dest&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;NULL&nbsp;</span><span style="COLOR: #000000">||</span><span style="COLOR: #000000">&nbsp;src&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;NULL)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;NULL;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">&nbsp;(dest&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;src)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;dest;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">destCpy&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;dest;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000">((</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">dest</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">src</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">!=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">\0</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;destCpy;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span></div>
<br>3.找出因子只有2，3，5的第1500个数，如1，2，3，4，5，6，8，9，10为满足条件的数，设计有效算法<br>&nbsp;&nbsp;满足这个条件的数据都应该满足v = 2^x * 3^y * 5^z,&nbsp;从<a href="http://blog.csdn.net/wwd252/archive/2008/09/04/2882645.aspx">http://blog.csdn.net/wwd252/archive/2008/09/04/2882645.aspx</a>看到了算法，借鉴一下<br>&nbsp;&nbsp;&nbsp;
<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"><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><span style="COLOR: #000000">#include&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">stdio.h</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.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 align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">using</span><span style="COLOR: #000000">&nbsp;std::cout;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">#define</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;N&nbsp;&nbsp;&nbsp;1500&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;main()&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_96_563_Open_Image onclick="this.style.display='none'; Codehighlighter1_96_563_Open_Text.style.display='none'; Codehighlighter1_96_563_Closed_Image.style.display='inline'; Codehighlighter1_96_563_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_96_563_Closed_Image onclick="this.style.display='none'; Codehighlighter1_96_563_Closed_Text.style.display='none'; Codehighlighter1_96_563_Open_Image.style.display='inline'; Codehighlighter1_96_563_Open_Text.style.display='inline';" align=top src="http://www.cppblog.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_96_563_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_96_563_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;&nbsp;result[N];&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;p2,&nbsp;p3,&nbsp;p5;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;i;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;result[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;p2&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;p3&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;p5&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"><br><img id=Codehighlighter1_219_536_Open_Image onclick="this.style.display='none'; Codehighlighter1_219_536_Open_Text.style.display='none'; Codehighlighter1_219_536_Closed_Image.style.display='inline'; Codehighlighter1_219_536_Closed_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="DISPLAY: none" id=Codehighlighter1_219_536_Closed_Image onclick="this.style.display='none'; Codehighlighter1_219_536_Closed_Text.style.display='none'; Codehighlighter1_219_536_Open_Image.style.display='inline'; Codehighlighter1_219_536_Open_Text.style.display='inline';" align=top src="http://www.cppblog.com/Images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(i&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">;&nbsp;i&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">&nbsp;N;&nbsp;</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">i)</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_219_536_Closed_Text><img src="http://www.cppblog.com/Images/dot.gif"></span><span id=Codehighlighter1_219_536_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.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;min;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;result[p2]&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(min&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;result[p3]&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;result[p3]&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(min&nbsp;</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000">&nbsp;result[p5]&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">)<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;result[p5]&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result[i]&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;min;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(result[p2]&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;result[i])<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p2</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(result[p3]&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;result[i])<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p3</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(result[p5]&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">5</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">&lt;=</span><span style="COLOR: #000000">&nbsp;result[i])<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p5</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif">&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/InBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;cout</span><span style="COLOR: #000000">&lt;&lt;</span><span style="COLOR: #000000">result[N</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">];&nbsp;<br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/ExpandedBlockEnd.gif">}</span></span><span style="COLOR: #000000"><br><img align=top src="http://www.cppblog.com/Images/OutliningIndicators/None.gif"></span></div>
这道题我觉着关键就是设立一个机制，判断哪个指数加1。<br><br>&nbsp;&nbsp;&nbsp;<br>
<img src ="http://www.cppblog.com/LoveSi/aggbug/128958.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/LoveSi/" target="_blank">LoveSi</a> 2010-10-07 22:51 <a href="http://www.cppblog.com/LoveSi/archive/2010/10/07/128958.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Moto笔试题目</title><link>http://www.cppblog.com/LoveSi/archive/2010/10/07/128926.html</link><dc:creator>LoveSi</dc:creator><author>LoveSi</author><pubDate>Thu, 07 Oct 2010 07:31:00 GMT</pubDate><guid>http://www.cppblog.com/LoveSi/archive/2010/10/07/128926.html</guid><wfw:comment>http://www.cppblog.com/LoveSi/comments/128926.html</wfw:comment><comments>http://www.cppblog.com/LoveSi/archive/2010/10/07/128926.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/LoveSi/comments/commentRss/128926.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/LoveSi/services/trackbacks/128926.html</trackback:ping><description><![CDATA[<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span lang=EN-US>1</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、智能指针</span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">：</span> </p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">智能指针是存储指向动态分配（堆）对象指针的类</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>, </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">用于生存期控制</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>, </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">能够确保自动正确的销毁动态分配的对象，防止内存泄露。它的一种通用实现技术是使用引用计数</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>(reference count)</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">。智能指针类将一个计数器与类指向的对象相关联，引用计数跟踪该类有多少个对象共享同一指针。每次创建类的新对象时，初始化指针并将引用计数置为</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>1</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">；当对象作为另一对象的副本而创建时，拷贝构造函数拷贝指针并增加与之相应的引用计数；对一个对象进行赋值时，赋值操作符减少左操作数所指对象的引用计数（如果引用计数为减至</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>0</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，则删除对象），并增加右操作数所指对象的引用计数；调用析构函数时，构造函数减少引用计数（如果引用计数减至</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>0</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，则删除基础对象）。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p></o:p></span></p>
<span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana"></span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">智能指针就是模拟指针动作的类。所有的智能指针都会重载</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> -&gt; </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">和</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> * </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">操作符。</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">智能指针还有许多其他功能，比较有用的是自动销毁。这主要是利用栈对象的有限作用域以及临时对象（有限作用域实现）析构函数释放内存。当然，智能指针还不</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">止这些，还包括复制时可以修改源对象等。智能指针根据需求不同，设计也不同（写时复制，赋值即释放对象拥有权限，引用计数等，控制权转移等）。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>auto_ptr </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">即是一种常见的智能指针。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">智能指针通常用类模板实现：</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; template &lt;class T&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class smpoint<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; smpoint(T * p): _p(p){}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T &amp; operator * (){return *_p;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T * operator -&gt; (){return _p;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ~smpoint(){delete _p;}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T * _p;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><font size=3><font color=#000000><span lang=EN-US><font face="Times New Roman">2</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</span><span lang=EN-US><font face="Times New Roman">printf</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">（）可变参数如何实现</span><font face="Times New Roman"> ，<span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'" lang=EN-US><a href="http://www.vckbase.com/document/viewdoc/?id=1830">http://www.vckbase.com/document/viewdoc/?id=1830</a><o:p></o:p></span><br><br>&nbsp; </font></font></font><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'" lang=EN-US>int printf(char *fmt, ...)，关键是几个宏的实现<br></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><font size=3><font color=#000000><span lang=EN-US><font face="Times New Roman">3</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、标准模板库</span><span lang=EN-US><font face="Times New Roman">vector</font></span><span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">追加数据如何实现。是底层如何实现，不能用现有的东东。</span><font face="Times New Roman"> </font></font></font></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">在追加对象前先判断预留的空间是否满足需求，如果不满足则根据分配策略，另分配足够的空间</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> (</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">一般使用平方增加策略</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>)</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，复制以前的对象数组，再释放原来的空间，然后把对象追加到尾部。如果任何一个操作环节失败，则至少保留原数组不受影响（异常安</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">全保证策略）。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><font color=#000000><span style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>4</span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">、</span><span style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>java的</span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">垃圾收集机制如何实现为什么？如果是你自己实现垃圾收集机制，如何实现？</span><span style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> </span><span style="FONT-FAMILY: 宋体; FONT-SIZE: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">用什么数据结构？<br><br></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">垃圾收集没有统一的实现。《深入</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>Java</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">虚拟机》中提了几种算法，包括引用计数，跟踪收集，拷贝收集（这个挺有趣的），还有重头火车算法。但是这本书有点旧了，新的技术不清楚。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> <br></span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">最简单的实现做法，莫过于</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>new</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">的时候纪录，程序</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>exit</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">的时候批量</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>delete&#8230;&#8230; <br></span></span></font><br>5.<font color=#000000><span style="FONT-FAMILY: 宋体; FONT-SIZE: 10.5pt; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">二叉排序树和哈希表那个查找效率高，实用于</span><span style="FONT-FAMILY: 'Times New Roman'; FONT-SIZE: 10.5pt; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA" lang=EN-US>pda<br><br><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">质量精良的</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'" lang=EN-US>hash</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">肯定是查找效率最高的。但是</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'" lang=EN-US>pda</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">上，应该是二叉树比较好吧。在内存限制的条件下，</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'" lang=EN-US>hash</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">可能会有变态表现。而有序二叉树的查找算法就比较稳定，空间复杂度</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'" lang=EN-US>n</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">，最坏时间复杂度</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'" lang=EN-US>nlog(n)</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">，而且避免了不同情况下</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'" lang=EN-US>hash</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">函数的设计困难。<br></span><br>6.&nbsp; <span>.net</span><span>的底层实现机制。<br><br><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">虚拟机</span></span><span>&nbsp;</span></p>
<p><span>7</span><span>、过程间通信如何实现。<br><br><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'" lang=EN-US>windows</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">用管道，</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'" lang=EN-US>unix</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">用文件描述符，或者用</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'" lang=EN-US>socket</span></span><span>&nbsp;</span></p>
<p><span>8</span><span>、迭代问题，什么问题用迭代，迭代在操作系统中如何实现的</span> <span>。</span><span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">迭代算法是用电脑解决问题的一种基本方法。他利用电脑运算速度快、适合做重复性操作的特点，让电脑对一组指令</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>(</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">或一定步骤</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>)</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">进行重复执行，在每次执行这组指令</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>(</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">或这些步骤</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>)</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">时，都从变量的原值推出他的一个新值。<br><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">递归是设计和描述算法的一种有力的工具，由于它在复杂算法的描述中被经常采用，为此在进一步介绍其他算法设计方法之前先讨论它。能采用递归描述的算法通常有这样的特征：为求解规模为</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'" lang=EN-US>N</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">的问题，设法将它分解成规模较小的问题，然后从这些小问题的解方便地构造出大问题的解，并且这些规模较小的问题也能采用同样的分解和综合方法，分解成规模更小的问题，并从这些更小问题的解构造出规模较大问题的解。特别地，当规模</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'" lang=EN-US>N=1</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">时，能直接得解。</span><br></span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p></o:p></span></p>
</span>
<p><span>9</span><span>、如何交换两个变量，不能用中间变量。</span> </p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>int &nbsp; i;<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br></span>int &nbsp; j;<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="mso-spacerun: yes">&nbsp;<br></span>j &nbsp; = &nbsp; </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>i &nbsp; + &nbsp; j</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">） </span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>- &nbsp; </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>i &nbsp; = &nbsp; j</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">）；<br><br></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>a &nbsp; = &nbsp; a^b; <br>b= &nbsp; a^b; <br>a &nbsp; = &nbsp; b^a;<o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><br></span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p></o:p></span></p>
<p><span>10</span><span>、</span><span>c</span><span>与</span><span>c++ static</span><span>函数的区别？？？</span> <br><br><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>C </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">语言中</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> static </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">关键字作用于函数时起限制函数作用域的作用，其</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>static</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">函数作用域被限制为当前文件中，该函数定义之后部分。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><br>C++ </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">的全局函数用</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>static </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">修饰和</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> C </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">语言中一个意思</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> (C++ </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">标准建议此种情况用匿名名字空间包含该函数来代替</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>static</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">关键字</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>)</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">；但类成员函数如果用</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>static </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">修饰表示是类的作用域而不是对象作用域，可以直接通过类名来引用。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p></o:p></span></p>
<p><span>11</span><span>、</span><span>const </span><span>函数的作用，如何实现钩子函数。</span><span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">类的设计者通过将函数声明为</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> const </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">以表明它们不修改类对象。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><br>const </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">函数内不允许修改数据成员</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> (</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">需要注意的是，虽然在</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> const </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">函数内，指针成员变量不允许被修改，但对指针所指向内容的修改是允许的</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>)</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><br></span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">一个</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> const </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">类对象只能调用</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> const </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">成员函数</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> (</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">构造和析构函数除外</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>)</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p></o:p></span></p>
</span>
<p><span>12</span><span>、两层容错技术怎么实现？</span> </p>
<p>&nbsp;</p>
<p><span>13</span><span>、写出函数指针，函数返回指针，</span><span>const</span><span>指针，指向</span><span>const</span><span>的指针，指向</span><span>const</span><span>的</span><span>const</span><span>指针。</span> </p>
<p><span><span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;函数指针：函数类型</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt"> </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>*</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">指针变量名）（形参表）</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> --int </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>*f</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">）（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>int a</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">）；</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>--1.</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">说明函数指针变量（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>int</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>*f</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">）（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>int a</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">））；</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>2.</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">要对函数指针变量赋值（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>f = func</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">）；</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>3.</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">要用（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>*</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">指针变量）（参数表）；调用函数（（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>*f</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">）（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>a</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>b</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">））</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">指针函数：类型标识符</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> *</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">函数名（参数表）</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt"> <span lang=EN-US>int * f</span></span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">（</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>int x</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt"> <span lang=EN-US>int y</span></span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">）</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Const </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">指针：</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>int *const ptr<o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">指向</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>const</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">的指针：</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>const int *ptr<o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">指向</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>const</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">的</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>const</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">指针：</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>const int *const ptr<o:p></o:p></span></p>
<p></span></span><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></p>
<p><span>14</span><span>、函数调用如何实现，注意什么问题。<br><br></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">在函数调用的时候，使用栈传递参数，可变参数函数的实现与函数调用的栈结构有关，正常情况下</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>c/c++</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">的函数参数入栈规则为</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>__stdcall, </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">它是从右到左的，即函数中的最右边的参数最先入栈。对于函数</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt"> <span lang=EN-US><o:p></o:p></span></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><span style="mso-spacerun: yes">&nbsp;</span>void fun(int a, int b, int c) {<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </span>int d;<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>...<span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">其栈结构为</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt"> <span lang=EN-US><o:p></o:p></span></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>0x1ffc--&gt;d<o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>0x2000--&gt;a<o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>0x2004--&gt;b<o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><span style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>0x2008--&gt;c<o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">对于任何编译器，每个栈单元的大小都是</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>sizeof(int), </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">而函数的每个参数都至少要占一个栈单元大小</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p></o:p></span></p>
<p><span></span>&nbsp;</p>
<p><span>15</span><span>、指针和引用的差别</span>&nbsp;</p>
<span>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">指针初始化的时候，可以指向一个地址或者为空，而引用必须初始化为另一个变量</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>;<o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>2.</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">指针是一个变量，占用</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>4</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">个字节，引用是一个别名；指针可以指向</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>NULL</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">，但引用必须与一个已经存在的变量绑定，而且这种绑定不可修改。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p></o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><span style="mso-tab-count: 1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>3.</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">指针可以被重新赋值与指向另外一个不同的对象，但是引用则总是指向在初始化时被指定的对象，以后不能更改</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p></o:p></span></p>
<p>&nbsp;16</span><span>、拷贝构造函数如何实现，什么情况下会用到。</span></p>
<span>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">&nbsp;&nbsp;&nbsp;拷贝构造函数的几个用处：</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1) </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">用一个类对象初始化该类的另一个对象的时候：</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A a;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A b(a);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A b = a;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2) </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">把一个类对象赋值给该类的另一个对象的时候：</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A b;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b = a;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3) </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">传参数和返回时：</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A f (A a) // </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">传参和返回都会调用拷贝构造函数</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // ...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">实现时要注意的是：</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1) </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">当类中有指针变量成员时，确认是直接拷贝指针变量的值，还是重新分配内存然后递归拷贝构造。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2) </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">是否有每个对象必须有唯一值的成员变量</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> (</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">比如账号</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US>)</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">。其实</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> 1) </span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">也可以归为</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US> 2)</span><span style="FONT-FAMILY: 宋体; COLOR: #5e5e5e; FONT-SIZE: 10pt; mso-ascii-font-family: Verdana; mso-hansi-font-family: Verdana">。</span><span style="FONT-FAMILY: Verdana; COLOR: #5e5e5e; FONT-SIZE: 10pt" lang=EN-US><o:p></o:p></span></p>
<p></span><span lang=EN-US><o:p>&nbsp;</o:p></span></p>
<p style="MARGIN: 0cm 0cm 0pt" class=MsoNormal></span></font><br></span>&nbsp;</p>
<o:p></o:p></span></o:p></span><br>
<img src ="http://www.cppblog.com/LoveSi/aggbug/128926.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/LoveSi/" target="_blank">LoveSi</a> 2010-10-07 15:31 <a href="http://www.cppblog.com/LoveSi/archive/2010/10/07/128926.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>