⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_66714.htm

📁 vc
💻 HTM
字号:
<p>
序号:66714 发表者:后者 发表日期:2003-12-26 08:41:50
<br>主题:stl的问题
<br>内容:在用vector的时候,我先插入三个数0,1,2,然后用函数clear清除,再插两个数0,1。这时候用size=2,然后用i=find(vector.begin(),vector.end(),2),他却能找得到*i=2,请问各位大虾是怎么回事????
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:BigJames 回复日期:2003-12-26 09:21:02
<br>内容:如果你的代码没有错的话,可能find之后的i已经等于vector.end()了,此时i已经没有意义了。但是由于vector的特性,上次在位置3插入的'2'的空间目前已经被vector.end()指向。<BR><BR>在使用iterator之前,应该确保iterator有效,例如<BR>i = find(...)<BR><BR>if (i != vector.end())<BR>{<BR>...<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:后者 回复日期:2003-12-26 10:13:06
<br>内容:一楼回答的中vector的特性主要是指的那些?还有end到底起什么作用,他一般在什么位置?还请大虾们不吝赐教
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:BigJames 回复日期:2003-12-26 11:00:47
<br>内容:vector顺序存储,预先分配一定空间,并不随着元素个数的增减而立即变化。<BR>end()指向当前vector中最后一个有效元素的后面。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:后者 回复日期:2003-12-26 15:02:21
<br>内容:那clear函数,只是把last指针向前移到begin的位置而已,并不是把内存里的数清空了?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:BigJames 回复日期:2003-12-26 17:26:56
<br>内容:对。可以这么理解。没有必要清空内存中的数据,毕竟那些数据已经无效了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -