C++_volatile限定修饰符 & Pair类型

本文详细介绍了Volatile限定修饰符的作用及用法,并解析了Pair类的基本概念和使用方式,帮助读者理解如何在程序中正确运用这两个重要的编程元素。
Volatile限定修饰符

===========================================================

当一个对象的值可能会在编译器的控制或检测之外被改变时,例如一个被系统时间更改的变量,那么这个变量就应该声明成volatile。

其主要作用是提示编译器,该对象的值可能在编译器未检测到的情况下被改变。因此编译器执行的某些例行优化行为不能应用在已指定为volatile的对象上。

其用法与const非常相似, 如下:

volatile int display_register; //一个int型的volatile对象

volatile Task *curr_task; //一个指向volatile的Task类对象的指针

volatile int ixa[ max_size ]; //一个volatile的int型数组。数组中每一个元素都被认为是volatile的

volatile Screen bitmap_buf; //一个volatile的Screen类对象,它的每个数据成员都被认为是volatile的

 

 

Pair类型

===========================================================

Pair类是标准库的一部分,它可以在单个对象内部把相同类型或不同类型的两个值关联起来。

 

要使用pair类,必须包含头文件:

#include <utility>

 

如下代码创建了一个pair对象author,它包含两个字符串,分别被初始化为“James“ 和“Joyce”:

pair<string, string> author( "James", "Joyce" );

 

我们可以用成员访问符号(member access notation)访问pair中单个元素。它们是firstsecond。如下:

string firstBook;
if(author.first == "James" && author.second == "Joyce")
    firstBook = "Stephen Hero";
 
typedef pair< string, string > Authors; Authors proust ( "marcel", "proust" );
Authors joyce ( "james", "joyce" );
Authors musil ( "robert", "musil" );

转载于:https://www.cnblogs.com/JaneTang/archive/2010/03/01/1676108.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值