﻿<?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++博客-Uthinker</title><link>http://www.cppblog.com/Uthinker/</link><description>the quieter you become,the more you are able to hear</description><language>zh-cn</language><lastBuildDate>Mon, 13 Apr 2026 10:48:04 GMT</lastBuildDate><pubDate>Mon, 13 Apr 2026 10:48:04 GMT</pubDate><ttl>60</ttl><item><title>[译] CStringArray Class</title><link>http://www.cppblog.com/Uthinker/archive/2018/12/12/216119.html</link><dc:creator>Uthinker</dc:creator><author>Uthinker</author><pubDate>Wed, 12 Dec 2018 14:31:00 GMT</pubDate><guid>http://www.cppblog.com/Uthinker/archive/2018/12/12/216119.html</guid><wfw:comment>http://www.cppblog.com/Uthinker/comments/216119.html</wfw:comment><comments>http://www.cppblog.com/Uthinker/archive/2018/12/12/216119.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uthinker/comments/commentRss/216119.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uthinker/services/trackbacks/216119.html</trackback:ping><description><![CDATA[<span style="color: #333333; font-family: Arial, &quot;Microsoft YaHei&quot;, &quot;\\5FAE软雅黑&quot;, &quot;\\5B8B体&quot;, &quot;Malgun Gothic&quot;, Meiryo, sans-serif; font-variant-numeric: normal; font-variant-east-asian: normal; line-height: 26px; background-color: #f7f8fa;">当您看到CObject指针作为函数参数时，请替换LPCTSTR。</span>原文 https://docs.microsoft.com/zh-cn/previous-versions/tddz3etf(v=vs.140)<br /><br />此类为支持CString对象数组。<br />头文件：<span style="color: red;">afxcoll.h</span><br />格式：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">class</span>&nbsp;CStringArray&nbsp;:&nbsp;<span style="color: #0000FF; ">public</span>&nbsp;CObject&nbsp;&nbsp;</div>成员<br /><div>CStringArray的成员函数类似于CObArray类的成员函数。由于类似，你可以通过CObArray参考文档成员函数特性。当您看到CObject指针作为返回值时，请替换CString对象(而不是CString指针)。当您看到CObject指针作为函数参数时，请替换LPCTSTR。<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->CObject*&nbsp;CObArray::GetAt(&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;&lt;nIndex&gt;&nbsp;)&nbsp;<span style="color: #0000FF; ">const</span>;</div>例如，替换为<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->CString&nbsp;CStringArray::GetAt(&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;&lt;nIndex&gt;&nbsp;)&nbsp;<span style="color: #0000FF; ">const</span>;</div>和<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">void</span>&nbsp;SetAt(&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;&lt;nIndex&gt;,&nbsp;CObject*&nbsp;&lt;newElement&gt;&nbsp;)</div>替换为<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">void</span>&nbsp;SetAt(&nbsp;<span style="color: #0000FF; ">int</span>&nbsp;&lt;nIndex&gt;,&nbsp;LPCTSTR&nbsp;&lt;newElement&gt;&nbsp;)</div><br />公有构造函数<br /><hr /><table border="0" cellspacing="2" cellpadding="2" width="500" bordercolor="#CCFFFF" summary="构造函数" style="text-align: left;" align="left" title="构造函数"><tbody><tr><td>Name</td><td>说明</td></tr><tr><td><div>CObArray::CObArray</div></td><td><div>构造一个空数组</div></td></tr></tbody></table><br /><br /><br /><br />方法（公有）<br /><table border="1" cellspacing="2" cellpadding="2" width="600" style="border-collapse: collapse;" bordercolor="#FF6600" bgcolor="#CCFFFF" title="成员函数" summary="成员函数" align="left"><tbody><tr><td><strong>名称</strong></td><td><strong>说明</strong></td></tr><tr><td><div><span style="font-size: 10pt;">CObArray::Add</span></div></td><td><span style="font-size: 10pt;">将元素添加到数组的末尾;如果需要增加数组</span></td></tr><tr><td><div><span style="font-size: 10pt;">CObArray::Append</span></div></td><td><span style="font-size: 10pt;">将另一个数组追加到该数组;</span><span style="font-size: 10pt;">如果需要增加数组</span><span data-v-4c8ee738="" data-group="0-1" style="box-sizing: border-box; color: #333333; font-family: Arial, &quot;Microsoft YaHei&quot;, &quot;\\5FAE软雅黑&quot;, &quot;\\5B8B体&quot;, &quot;Malgun Gothic&quot;, Meiryo, sans-serif; font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; line-height: 26px; background-color: #f7f8fa;"></span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">CObArray::Copy</span></td><td><span style="font-size: 10pt;">将另一个数组复制到该数组;</span><span data-v-4c8ee738="" data-group="0-1" style="box-sizing: border-box; color: #333333; font-family: Arial, &quot;Microsoft YaHei&quot;, &quot;\\5FAE软雅黑&quot;, &quot;\\5B8B体&quot;, &quot;Malgun Gothic&quot;, Meiryo, sans-serif; font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; line-height: 26px;">如果需要增加数组</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">CObArray::ElementAt</span></td><td><span style="font-size: 10pt;">返回对数组中元素指针的临时引用</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">CObArray::FreeExtra</span></td><td><span style="font-size: 10pt;">释放当前上限以上的所有未使用内存</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">CObArray::GetAt</span></td><td><span style="font-size: 10pt;">返回给定索引处的值</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">CObArray::GetCount</span></td><td><span style="font-size: 10pt;">获取该数组中的元素数</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">CObArray::GetData</span></td><td><span style="font-size: 10pt;">允许访问数组中的元素。</span><span data-v-4c8ee738="" data-group="0-1" style="box-sizing: border-box; color: #333333; font-family: Arial, &quot;Microsoft YaHei&quot;, &quot;\\5FAE软雅黑&quot;, &quot;\\5B8B体&quot;, &quot;Malgun Gothic&quot;, Meiryo, sans-serif; font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; line-height: 26px;">可以为空</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">CObArray::GetSize</span></td><td><span style="font-size: 10pt;">获取该数组中的元素数</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">CObArray::GetUpperBound</span></td><td><span style="font-size: 10pt;">返回最大的有效索引</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">CObArray::InsertAt</span></td><td><span style="font-size: 10pt;">在指定索引处插入一个元素(或另一个数组中的所有元素)</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">&nbsp;CObArray::IsEmpty</span></td><td><span style="font-size: 10pt;">&nbsp;判断该数组是否为空</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">&nbsp;CObArray::RemoveAll</span></td><td><span style="font-size: 10pt;">&nbsp;移除该数组所有元素</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">&nbsp;CObArray::RemoveAt</span></td><td><span style="font-size: 10pt;">&nbsp;移除指定位置的元素</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">&nbsp;CObArray::SetAt</span></td><td><span style="font-size: 10pt;">&nbsp;设置给定索引的值;</span><span data-v-4c8ee738="" data-group="0-1" style="box-sizing: border-box; color: #333333; font-family: Arial, &quot;Microsoft YaHei&quot;, &quot;\\5FAE软雅黑&quot;, &quot;\\5B8B体&quot;, &quot;Malgun Gothic&quot;, Meiryo, sans-serif; font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; line-height: 26px;">数组不允许增长</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">&nbsp;CObArray::SetAtGrow</span></td><td><span style="font-size: 10pt;">&nbsp;设置给定索引的值;</span><span data-v-4c8ee738="" data-group="0-1" style="box-sizing: border-box; color: #333333; font-family: Arial, &quot;Microsoft YaHei&quot;, &quot;\\5FAE软雅黑&quot;, &quot;\\5B8B体&quot;, &quot;Malgun Gothic&quot;, Meiryo, sans-serif; font-size: 10pt; font-variant-numeric: normal; font-variant-east-asian: normal; line-height: 26px;">如果需要增加数组</span></td></tr></tbody><tbody><tr><td><span style="font-size: 10pt;">&nbsp;CObArray::SetSize</span></td><td><span style="font-size: 10pt;">设置该数组中要包含的元素的数量</span></td></tr></tbody></table><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />备注<br /><span data-v-4c8ee738="" data-group="0-0" style="box-sizing: border-box; color: #333333; font-family: Arial, &quot;Microsoft YaHei&quot;, &quot;\\5FAE软雅黑&quot;, &quot;\\5B8B体&quot;, &quot;Malgun Gothic&quot;, Meiryo, sans-serif; font-variant-numeric: normal; font-variant-east-asian: normal; line-height: 26px; background-color: #f7f8fa;">CStringArray合并了IMPLEMENT_SERIAL宏来支持序列化和转储它的元素。</span><span data-v-4c8ee738="" data-group="0-1" style="box-sizing: border-box; color: #333333; font-family: Arial, &quot;Microsoft YaHei&quot;, &quot;\\5FAE软雅黑&quot;, &quot;\\5B8B体&quot;, &quot;Malgun Gothic&quot;, Meiryo, sans-serif; font-variant-numeric: normal; font-variant-east-asian: normal; line-height: 26px; background-color: #f7f8fa;">如果将CString对象数组存储到存档文件中，要么使用重载插入操作符，要么使用Serialize成员函数，则依次序列化每个元素。<br />注意：<br /><span data-v-4c8ee738="" data-group="0-0" style="box-sizing: border-box; font-variant-numeric: normal; font-variant-east-asian: normal; line-height: 26px; color: #ff6600;">在使用数组之前，使用SetSize确定其大小并为其分配内存。</span><span data-v-4c8ee738="" data-group="0-1" style="box-sizing: border-box; font-variant-numeric: normal; font-variant-east-asian: normal; line-height: 26px; color: #ff6600;">如果不使用SetSize，则向数组中添加元素会经常重新分配和复制它。</span><span data-v-4c8ee738="" data-group="0-2" style="box-sizing: border-box; font-variant-numeric: normal; font-variant-east-asian: normal; line-height: 26px; color: #ff6600;">频繁的重新分配和复制是低效的，并且会碎片化内存。</span><br /></span></div><img src ="http://www.cppblog.com/Uthinker/aggbug/216119.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uthinker/" target="_blank">Uthinker</a> 2018-12-12 22:31 <a href="http://www.cppblog.com/Uthinker/archive/2018/12/12/216119.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++学习笔记</title><link>http://www.cppblog.com/Uthinker/archive/2018/02/09/215511.html</link><dc:creator>Uthinker</dc:creator><author>Uthinker</author><pubDate>Fri, 09 Feb 2018 09:09:00 GMT</pubDate><guid>http://www.cppblog.com/Uthinker/archive/2018/02/09/215511.html</guid><wfw:comment>http://www.cppblog.com/Uthinker/comments/215511.html</wfw:comment><comments>http://www.cppblog.com/Uthinker/archive/2018/02/09/215511.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uthinker/comments/commentRss/215511.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uthinker/services/trackbacks/215511.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;昨天听了同事讲Python。我自己最近也在整理些C++的东西。不过只是以C++ Primer书本为基础，把上面的知识点整理到博客上而已。不能算是什么原创或转载的文章。就算是自己整理的知识笔记吧。C++&nbsp;Primer这本书实在是太厚了。所涉及的知识点也很多。之前自己在学习C++的时候有零散的整理些。现在打算给放到这个C++博客中，方便查阅。<img src ="http://www.cppblog.com/Uthinker/aggbug/215511.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uthinker/" target="_blank">Uthinker</a> 2018-02-09 17:09 <a href="http://www.cppblog.com/Uthinker/archive/2018/02/09/215511.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++学习笔记之初识</title><link>http://www.cppblog.com/Uthinker/archive/2017/11/06/215329.html</link><dc:creator>Uthinker</dc:creator><author>Uthinker</author><pubDate>Mon, 06 Nov 2017 07:11:00 GMT</pubDate><guid>http://www.cppblog.com/Uthinker/archive/2017/11/06/215329.html</guid><wfw:comment>http://www.cppblog.com/Uthinker/comments/215329.html</wfw:comment><comments>http://www.cppblog.com/Uthinker/archive/2017/11/06/215329.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Uthinker/comments/commentRss/215329.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Uthinker/services/trackbacks/215329.html</trackback:ping><description><![CDATA[//Ving<img src ="http://www.cppblog.com/Uthinker/aggbug/215329.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Uthinker/" target="_blank">Uthinker</a> 2017-11-06 15:11 <a href="http://www.cppblog.com/Uthinker/archive/2017/11/06/215329.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>