位运算的使用例子

class Data
{
public:enum  Permission{allowSelect = 1 << 0,allowUpdate = 1 << 1,allowInsert = 1 << 2,allowDelete = 1 << 3};
public:Data():flag(0){};~Data(){};/*添加某权限*/void enable(int permission){flag |= permission;}/*删除某权限*/void disable(int permission){flag ^= permission;}/*是否拥有某些权限*/bool isAllow(int permission){return (flag&permission) == permission;}/*是否没有某些权限*/bool isNotAllow(int permission){return (flag&permission) == 0;}/*是否公拥有某些权限*/bool isOnlyAllow(int permission){return flag == permission;}int getPermission() const{return flag;}void setPermission(int permission){flag = permission;}private:int flag;
};int main()
{Data d;//设置权限d.setPermission(Data::allowSelect|Data::allowUpdate);//是否拥有insert、delete权限d.isAllow(Data::allowInsert|Data::allowDelete);return 0;
}

 

转载于:https://www.cnblogs.com/quehualin/p/9355376.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368083.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

事务性Lucene

许多用户不喜欢Lucene API的事务性语义&#xff0c;以及这在搜索应用程序中如何有用。 首先&#xff0c;Lucene实现了ACID属性&#xff1a; 一个 tomicity&#xff1a;当您在更改&#xff08;添加&#xff0c;删除文件&#xff09; IndexWriter会话&#xff0c;然后提交&#…

logback配置详解和使用

最近知道一种打印日志的新方法&#xff0c;在此做一下学习总结。 转自&#xff1a;行走在云端的愚公 https://www.cnblogs.com/warking/p/5710303.html 一、logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站&#xff1a; http://logback.qos.ch。它当前…

linux下iostat命令无效,linux iostat命令详解

iostatiostat用于输出CPU和磁盘I/O相关的统计信息.命令格式:iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [ ... ] | ALL ] [ -p [ device | ALL ] ][ interval [ count ] ]1)iostat的简单使用iostat可以显示CPU和I/O系统的负载情况及分区状态信息.直接执行i…

css样式表

样式表&#xff1a; 一。内联&#xff1a;写在body中 直接在内容的标签中添加style属性&#xff1a;例如<div style"...">1234</div> 二。内嵌&#xff1a;写在head中 一般写在标题标签的后面&#xff0c;添加<style type"text/css"&g…

RAID技术超详细讲解

RAID 技术是一种多磁盘技术&#xff0c;面对数据的各方面有着两面性的影响&#xff0c;整体来说优点大于缺点的&#xff0c;下面我将详细介绍一下 RAID &#xff0c;简称磁盘阵列技术。 一、RAID 概述 1988 年美国加州大学伯克利分校的 D. A. Patterson 教授等首次在论文 “A C…

集群应用服务器环境中会话管理(复制)的Oracle Coherence最佳实践

Oracle Coherence是一种内存中数据网格产品&#xff0c;也广泛用于跨应用程序服务器节点集群的会话复制。 它支持各种应用程序服务器&#xff0c;例如WebLogic&#xff0c;WebSphere&#xff0c;Tomcat&#xff0c;JBoss等。Coherence * Web是会话管理模块&#xff08;基于Cohe…

自适应居中

一、窗体居中 position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; /*height: 50px; width: 165px; */ 简析&#xff1a; position:固定位置显示&#xff08;absolute|fixed&#xff09;&#xff1b; 【absolute&#xff1a;窗口大小由上层position为ab…

linux ip地址漂移,Linux 实现高可用性(HA) —之ip 漂移方法(vrrp)

在日常的系统管理当中,某些应用对可用性要求比较高,简单的冷备是不能满足需求,所以才需要双机热备即HA.根据此应用要求,我们介绍一个软件实现高可用性.keepalived是Linux下一个双机热备的软件&#xff0c;可提供vrrp以及health-check功能&#xff0c;目前仅用它提供双机漂移ip,…

Go语言核心之美 1.5-作用域

变量的作用域是指程序代码中能够有效使用这个变量的范围。不要将作用域和生命期混在一起。作用域是代码中的一块区域&#xff0c;是一个编译期的属性&#xff1b;生命期是程序执行期间变量存活的时间段。在此时间段内&#xff0c;变量能够被程序的其他部分所引用&#xff0c;是…

BootStrap_01之全局样式

1、响应式网页&#xff1a; ①Responsive Web Page&#xff1a;一个可以根据浏览设备的不同&#xff0c;而自动更改布局、图片、文字效果的网页&#xff1b; ②构成&#xff1a;不能固定宽度&#xff0c;必须流式布局&#xff1b;文字和图片大小随容器大小而改变&#xff1b;CS…

Java安全教程–创建SSL连接和证书的分步指南

在有关应用JEE安全性的系列文章中&#xff0c;我们为您提供了另一个有关如何在Java EE应用程序中创建SSL连接和创建证书的详细教程。 如我们之前的文章中所述&#xff0c; 安全套接字层&#xff08;SSL&#xff09;/传输层安全性&#xff08;TLS&#xff09;将启用客户端和Web服…

linux带宽最小的远程桌面,【图片】linux下哪种远程桌面服务最快?_linux吧_百度贴吧...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼I stumbled upon this while researching xrdp, which is the only one you mentioned that I havent used. Some observations:NX Server: not so speedy (v3, still awaiting v4), might pose performance issues depending on y…

CentOS Vi编辑器

vim&#xff1a;通过vim a.cfg进入文档 i&#xff1a;编辑状态 ESC&#xff1a;返回不可编辑状态 dd&#xff1a;在不可编辑状态下&#xff0c;dd可删除光标所在的行&#xff0c;2dd删除两行&#xff0c;以此类推 u&#xff1a;在不可编辑状态下&#xff0c;u可恢复删除的行 yy…

[转]CSS hack大全详解

转自&#xff1a;CSS hack大全&详解 1、什么是CSS hack? CSS hack是通过在CSS样式中加入一些特殊的符号&#xff0c;让不同的浏览器识别不同的符号&#xff08;什么样的浏览器识别什么样的符号是有标准的&#xff0c;CSS hack就是让你记住这个标准&#xff09;&#xff0c…

摆脱困境:将环境特定的Cron表达式与@Scheduled批注一起使用

Scheduled注释提供了一种在Spring驱动的应用程序中创建计划任务的简便方法。 我们可以使用它通过定期调度或cron表达式来调度我们的任务。 尽管时段调度也可能有用&#xff0c;但是cron表达式使我们对调度任务的调用有了更多的控制。 这就是为什么它们在现实生活中非常有用的原…

linux编译的so android闪退,android so库导致的闪退及tombstone分析

android中有3种crash情况&#xff1a;未捕获的异常、ANR和闪退。未捕获的异常一般用crash文件就可以记录异常信息&#xff0c;而ANR无响应表现就是界面卡着无法响应用户操作&#xff0c;而闪退则是整个app瞬间退出&#xff0c;个人感觉对用户造成的体验最差。闪退一般是由于调用…

产品经理应该具备的技能(2)如何做一个好的数据产品经理?

一、如何做一个好的数据产品经理&#xff1f; PD&#xff08;指产品经理&#xff0c;下同&#xff09;本身就是在做牛做马&#xff0c;关系圈异常复杂。数据PD也不例外。而且打交道的人更多。以下是我用PPT绘制的数据产品经理关系圈。如果你也做过 数据产品的产品经理&#xff…

C#取整函数Math.Round、Math.Ceiling和Math.Floor 【非原创,用来收藏,分享】

1.Math.Round&#xff1a;四舍六入五取偶 引用内容Math.Round(0.0) //0Math.Round(0.1) //0Math.Round(0.2) //0Math.Round(0.3) //0Math.Round(0.4) //0Math.Round(0.5) //0Math.Round(0.6) //1Math.Round(0.7) //1Math.Round(0.8) //1Math.Round(0.9) //1说明&#xff1a;对于…

谈谈一些有趣的CSS题目(十)-- 结构性伪类选择器

开本系列&#xff0c;谈谈一些有趣的 CSS 题目&#xff0c;题目类型天马行空&#xff0c;想到什么说什么&#xff0c;不仅为了拓宽一下解决问题的思路&#xff0c;更涉及一些容易忽视的 CSS 细节。解题不考虑兼容性&#xff0c;题目天马行空&#xff0c;想到什么说什么&#x…

基于linux的netfilter处理数据包的过程分析,基于Netfilter的网络数据包分析

前面的几篇文章我已经对Netfilter的大概的机制作了比较详细的介绍&#xff0c;这篇文章我就说一下如何分析网络数据包。我刚刚写了一个程序&#xff0c;程序的功能很简单&#xff0c;就是提取出网络数据包的源地址和改包所使用的网络协议&#xff0c;大家可以看看源代码&#x…