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

C++_volatile限定修饰符 Pair类型相关推荐

  1. 【Protocol Buffer】Protocol Buffer入门教程(五):repeated限定修饰符

    00. 目录 文章目录 00. 目录 01. 限定修饰符介绍 02. 字段API分析 03. 测试代码 04. 编译和测试 05. 参考 01. 限定修饰符介绍 repeated 代表可重复,我们可以 ...

  2. java变量无修饰符默认类型,java默认修饰符

    类的修饰 访问修饰符 修饰符 class 类名 extends 父类名称 implements 接口名称(notes: 访问修饰符符与修饰符的位置可以互换) 访问修饰符 名称 说明 备注 pubic ...

  3. java变量无修饰符默认类型,Java变量与修饰符

    Java变量类型 java变量定义:type variablename,[variable name = value]=value ? 局部变量:方法中的变量 ? 局部变量声明在方法中 ? 访问修饰符 ...

  4. 【C++基础学习】const限定修饰符详解

    C++中const的一个很重要的作用就是把一个对象转换成一个常量.在程序中任何改变这个值的企图会被标记为编译错误.它被称为是"只读的". (1)const对象在定义的时候必须被初始 ...

  5. JAVA修饰符类型(public,protected,private,friendly)

    JAVA修饰符类型(public,protected,private,friendly) public的类.类属变量及方法,包内及包外的不论什么类均能够訪问: protected的类.类属变量及方法, ...

  6. 技术图文:如何理解C#的internal限制修饰符?

    背景 在程序设计领域,面向对象有三大特征:封装.继承.多态.而封装是通过private.protected.public.internal这样的限定修饰符实现的. 我们先来看一下微软CSDN官方对这些 ...

  7. 面向对象4(匿名对象、内部类、包、修饰符、代码块)

    1.匿名对象 指在创建对象的时候,只有创建语句,没将对象地址赋值给某个变量 new Person(); 1.1 特点 1.创建时,可直接使用,没有变量名 new Person().eat(); 2.匿 ...

  8. 在php中默认访问权限修饰符是,php中访问修饰符的知识点总结

    为什么需要访问权限? 防止覆盖变量名称和函数名称 我们下来看一下public的使用,public是可以从任何地方访问的最广泛的访问限定符. 假设A先生开发overlapFuncBase,B先生继承ov ...

  9. JetPack Compose之Modifier修饰符

    前言 在Compose中,每一个组件都是带有@Compose注解的函数,被称为Composable.Compose已经预置了很多的Compose UI组件,这些组件都是基于Material Desig ...

最新文章

  1. 停课不停学,大型网课直播翻车现场合集,你别笑,哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈啊哈...
  2. hihoCoder #1068 : RMQ-ST算法(模板)
  3. 微软开源 Tye 项目,可简化微服务开发
  4. easyUI不同版本的combotree控件clear方法的区别
  5. PowerManager.WakeLock使用(屏幕恒亮)
  6. net472无法建立到信任_是否还会信任,那个曾经背叛过自己的人
  7. Leetcode之通配符匹配
  8. springmvc 接收对象 滴灌摘要
  9. python函数的规则_Python函数的作用域规则和闭包
  10. 【转】Java中的关键字 transient
  11. android optionmenu 动态显示,android – 如何在onCreateOptionsMenu中动态更改菜单
  12. 计算机毕业设计asp.net学院网站系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目
  13. 电视盒子刷鸿蒙系统,当贝市场亲测有效三款获取电视和盒子root权限的工具应用...
  14. 域控服务器的ip地址,修改Active Directory域控制器IP地址
  15. 微信小程序游戏开发│智力测试游戏——button版
  16. 市面最经典的中文版需求分析说明书模板 详细讲解各目录含义 分离需求说明和需求分析
  17. 第二章:算法——程序的灵魂
  18. HihoCoder 1082 : 然而沼跃鱼早就看穿了一切
  19. 电商千万用户 mysql设计_Mysql电商设计用户模块 一
  20. Spark SQL 日期和时间戳函数

热门文章

  1. 创建新的apple id_Google是新的Apple吗?
  2. 裸奔的支付X聊天,你还敢用吗?
  3. spi通讯不需要地线吗_抖音真的需要养号吗?不需要!千万别被割了韭菜
  4. 1052 Linked List Sorting
  5. mysql二进制日志管理_MYSQL二进制日志管理脚本
  6. 解压zip_go|用Go写一个zip解压脚本
  7. 什么BRIEF算法?BRIEF算法详解
  8. C#版及nodejs版的com端口监听程序
  9. PHP获取时间排除周六、周日的两个方法
  10. GlusterFS下如何修复裂脑文件?(续一)