第6章C++标准模块库(STL)及其程序设计.pptVIP

  • 2
  • 0
  • 约4.55万字
  • 约 301页
  • 2019-09-06 发布于广东
  • 举报

第6章C++标准模块库(STL)及其程序设计.ppt

//使用list来跟踪和报告程序消息和状态 #include iostream.h #include string #include list using namespace std; int main (void) { #define OK 0 #define INFO 1 #define WARNING 2 ? int return_code; ? liststring InfoMessages; liststring WarningMessages; ?//程序运行期间,这些消息被载入各个位置 InfoMessages.push_back(Info: Program started); //工作 WarningMessages.push_back(Warning: No Customer records have been found); //工作 return_code = OK; if (!InfoMessages.empty( )) { InfoMessages.push_front(Informational Messages:); //稍后会看到怎样打印消息list return_code = INFO; }? if (!WarningMessages.empty( )) { WarningMessages.push_front(Warning Messages:); //稍后会看到怎样打印报警list return_code = WARNING; }? //如无消息 if (InfoMessages.empty( ) WarningMessages.empty( )) { cout There were no messages endl; }? return return_code; } 例6.5 用for 循环来处理list中的元素。 我们想要遍历一个list,比如打印一个list中的所有对象来看list上不同操作的结果,可以用for循环来处理list中的元素。要一个元素一个元素地遍历一个list,代码如下: //怎样打印简单STL的list #include iostream #include string #include list using namespace std; int main (void) { liststring Milkshakes; liststring::iterator MilkshakeIterator; # Milkshakes.push_back(Chocolate); Milkshakes.push_back(Strawberry); Milkshakes.push_front(Lime); Milkshakes.push_front(Vanilla); # //打印Milkshakes的list对象 Milkshakes.push_front(The Milkshake Menu); Milkshakes.push_back(*** Thats the end ***); for (MilkshakeIterator=Milkshakes.begin( ); MilkshakeIterator!=Milkshakes.end( ); ++MilkshakeIterator) { //取元素,不用迭代器 cout *MilkshakeIterator endl; } } 在这个程序中定义了一个iterator,MilkshakeIterator用来指向容器中的一个特定位置。迭代器是一个可以访问STL容器中全部或部分元素的对象,其基本操作如下: (1) Operator*:回传当前位置上的元素值。如果该元素拥有成员,可以通过迭代器直接以opterator-调用它们。 (2) Operator ++:将迭代器前移至下一元素。大多数迭代器还可以使用operator--退回到前一个元素。 (3) Operator ==和Operator !=:判断两个迭代器是否指向同一位置。 (4) Operator =:为迭代器赋值(将其所指元素的位置赋值给迭代器)。 使MilkshakeIterator指向list的第一个元素,这可以通过调用Milkshakes.begin( )来做到,它会返回一个

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档