C++_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; //如果我们希望定义大量相同pair类型的对象,最方便的做法就是用typedef。
Authors proust ( "marcel", "proust" );
Authors joyce ( "james", "joyce" );
Authors musil ( "robert", "musil" );

原文链接: https://www.cnblogs.com/JaneTang/archive/2010/03/01/1676108.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

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

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/8447

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月6日 下午7:30
下一篇 2023年2月6日 下午7:30

相关推荐