随笔分类 -  STL

上一页 1 2 3 下一页

(原創) 如何使用find_first_of() algorithm? (C/C++) (STL)
摘要:find() algorithm一次只能找一個條件,若要同時找多個條件,需使用find_first_of()。 阅读全文

posted @ 2006-12-14 15:25 真 OO无双 阅读(3097) 评论(0) 推荐(0) 编辑

(原創) 如何使用multimap? 如何使用StringStream解析文字檔? (C/C++) (STL)
摘要:map迷人之處在於一次存key和value兩個值,且key是唯一的,但若遇到key可重複的情況呢?STL另外提供了multimap... 阅读全文

posted @ 2006-12-14 10:27 真 OO无双 阅读(4155) 评论(0) 推荐(0) 编辑

(原創) 將map輸出到cout,是否有更方便的方法? (C/C++) (STL)
摘要:大家都體會過sequential container搭配copy() algorithm,只要一行程式就可以將所有值輸出到cout,map這種associative container就無法用這一招,是否有其它方式解決呢? 阅读全文

posted @ 2006-12-14 09:16 真 OO无双 阅读(2293) 评论(0) 推荐(1) 编辑

(原創) 如何使用remove_copy_if() algorithm? (C/C++) (STL)
摘要:STL algorithm中,並沒有copy_if()可用,但可用remove_copy_if()達到要求。 阅读全文

posted @ 2006-12-11 12:35 真 OO无双 阅读(1477) 评论(0) 推荐(0) 编辑

(原創) 如何使用unique() algorithm? (C/C++) (STL)
摘要:初學者學unique()會覺得很困擾,發現結果並非unique.... 阅读全文

posted @ 2006-12-11 10:54 真 OO无双 阅读(5550) 评论(1) 推荐(2) 编辑

(原創) 如何使用for_each() algorithm? (C/C++) (STL)
摘要:C++沒提供foreach語法,但提供了for_each() algorithm,這和transform() algorithm有什麼不同呢? 阅读全文

posted @ 2006-12-10 04:10 真 OO无双 阅读(820) 评论(0) 推荐(0) 编辑

(原創) 如何使用stable_sort() algorithm? (C/C++) (STL)
摘要:此範例demo stable_sort()的用法,並且解釋其和sort() algorithm的相異之處。 阅读全文

posted @ 2006-12-10 02:59 真 OO无双 阅读(6766) 评论(1) 推荐(0) 编辑

(原創) 如何利用copy() algorithm將array輸出到cout? (C/C++) (STL)
摘要:STL的Algorithm除了用在STL的Container外,也能用在array喔!! 阅读全文

posted @ 2006-12-10 01:23 真 OO无双 阅读(1174) 评论(0) 推荐(0) 编辑

如何使用istream_iterator將文字檔轉到vector? (C/C++) (STL)
摘要:stream_iterator除了能用在cin,還可以用在fstream和stringstream,此範例使用stream_iterator搭配copy() algorithm,將文字檔轉到vector,再從vector輸出到文字檔,只需3行程序,STL真是太神奇了。 阅读全文

posted @ 2006-12-07 14:46 真 OO无双 阅读(1355) 评论(0) 推荐(0) 编辑

如何使用istream_iterator将cin转到vector? (C/C++) (STL)
摘要:使用stream_iterator搭配copy() algorithm,输入到vector,再从vector输出,只需3行程序,STL真是太神奇了。 阅读全文

posted @ 2006-12-07 12:06 真 OO无双 阅读(3864) 评论(2) 推荐(0) 编辑

(原創) 如何使用queue? (C/C++) (STL)
摘要:此范例demo如何使用STL的queue container,要将数据加进queue时,只要用q.push(item)即可,但要取出数据时,并不是用q.pop(),而是用q.front()取出最前面的数据,q.pop()则是将最前面的数据取出queue,其回传值为void。 阅读全文

posted @ 2006-11-26 00:22 真 OO无双 阅读(37945) 评论(1) 推荐(1) 编辑

(原創) 如何使用for_each() algorithm? (C/C++) (STL)
摘要:很怀念VB和C#的foreach语法吗?对于C++只能用for语法造成程序冗长觉得很烦吗?foreach的确对于container而言非常好用且精简,C++/CLI已经增加上了for each语法了,事实上,C++也可使用foreach喔,STL提供了for_each() algorithm,可以弥补这个缺憾。 阅读全文

posted @ 2006-11-19 12:12 真 OO无双 阅读(3743) 评论(0) 推荐(1) 编辑

(原創) 如何使用find() algorithm? (C/C++) (STL)
摘要:find()能在container中,尋找單一的值,若找的到,傳回該iterator,若找不到,則傳回container.end()。 阅读全文

posted @ 2006-11-16 15:32 真 OO无双 阅读(2914) 评论(0) 推荐(0) 编辑

(原創) 如何使用remove() algorithm? (C/C++) (STL)
摘要:remove()將移除container中所有的指定元素,但基於不改變Contaier size的原則,remove()只是將要移除的元素搬到contaier後面,若要真正移除,還要搭配contaier.erase()。 阅读全文

posted @ 2006-11-16 15:22 真 OO无双 阅读(1699) 评论(0) 推荐(0) 编辑

(原創) 如何使用subscripting的方式新增std::map? (C/C++) (STL)
摘要:std::map提供了两种新增element的方式,一种是c.insert(),和其它container一样,另外一种则是subscripting。 阅读全文

posted @ 2006-11-16 01:00 真 OO无双 阅读(928) 评论(0) 推荐(0) 编辑

(原創) 为什么说iterator是left inclusive? (C/C++) (STL)
摘要:因为c.begin()是第一个element,但c.end()并不是最后一个element,而是one past the end,所以c.end()并不是iterator.若以符号表示,则是 [first,last)the range begin with first and ends with, but not include, last.Reference C++ Primer 4th P.3... 阅读全文

posted @ 2006-11-15 23:20 真 OO无双 阅读(431) 评论(0) 推荐(0) 编辑

(原創) 使用std::vector模拟std::stack? (C/C++) (STL)
摘要:实务上并不会用std::vector去模拟std::stack,这是我修C++在Lab上的一个练习,要我们用std::vector去模拟std::stack,还蛮有趣的。 阅读全文

posted @ 2006-11-15 16:36 真 OO无双 阅读(1693) 评论(0) 推荐(0) 编辑

(原創) 如何删除std::vector内的element?(使用find) (C/C++) (STL)
摘要:若要删除std::vector中的element,正规的方式该用find() generic algorithm,若find()找到了,会传回该iterator,若找不到,将传回vector.end()。这种写法远比用for loop干净很多。 阅读全文

posted @ 2006-11-15 15:26 真 OO无双 阅读(6417) 评论(0) 推荐(0) 编辑

(原創) std::vector与std::list的执行速度比较 (C/C++) (STL)
摘要:STL中的container各有专长,最常用的是std::vector,可以完全取代array,第二常用的是std::list。std::vector的优点在于non-sequential access超快,新增数据于数据后端超快,但insert和erase任意资料则相当缓慢;std::list则是insert和erase速度超快,但non-sequential access超慢,此范例以实际时间比较vector和list间的优缺点。 阅读全文

posted @ 2006-11-09 00:05 真 OO无双 阅读(15256) 评论(3) 推荐(0) 编辑

(原創) 如何將std::string轉成大寫(小寫)? (C/C++) (STL) (C)
摘要:C++的Standard Library並沒有提供將std::string轉成大寫和小寫的功能,只有在提供將char轉成大寫(toupper)和小寫(tolower)的功能而已,在此利用STL的transform配合toupper/tolower,完成std::string轉換大(小)寫的功能,也看到Generics的威力,一個transform function,可以適用於任何型別,且只要自己提供 Algorithm,就可完成任何Transform的動作。 阅读全文

posted @ 2006-10-15 14:22 真 OO无双 阅读(24884) 评论(5) 推荐(0) 编辑

上一页 1 2 3 下一页

导航