浅谈C++之运算符

一、基本介绍

  运算符是描述对数据进行的运算(操作)、体现数据之间运算关系的符号,运算符也叫操作符。

二、运算符分类

  1. 算术运算符:用于执行基本的数学运算。

    • +(加)
    • -(减)
    • *(乘)
    • /(除)
    • %(取模,求余数)
    • ++(自增)
    • --(自减)
  2. 关系运算符:用于比较两个值。

    • ==(等于)
    • !=(不等于)
    • >(大于)
    • <(小于)
    • >=(大于等于)
    • <=(小于等于)
  3. 逻辑运算符:用于布尔逻辑运算。

    • &&(逻辑与)
    • ||(逻辑或)
    • !(逻辑非)
  4. 位运算符:对操作数的位进行操作。

    • &(位与)
    • |(位或)
    • ^(位异或)
    • ~(位取反)
    • <<(左移)
    • >>(右移)
  5. 赋值运算符:用于赋值操作。

    • =(简单赋值)
    • +=(加法赋值)
    • -=(减法赋值)
    • *=(乘法赋值)
    • /=(除法赋值)
    • %=(取模赋值)
    • &=(位与赋值)
    • |=(位或赋值)
    • ^=(位异或赋值)
    • <<=(左移赋值)
    • >>=(右移赋值)
  6. 其他运算符

    • sizeof(获取变量或类型的大小)
    • &(取地址)
    • *(解引用)
    • new 和 delete(动态内存分配和释放)
    • this(当前对象的指针)
    • . 和 ->(成员访问)
    • ?:(条件运算符,三元运算符)
    • ,(逗号运算符)
  7. 特殊运算符

    • ::(作用域解析运算符)
    • typeid(返回变量类型的信息)
    • const_cast(去除 const 属性)
    • dynamic_cast(运行时类型检查的向下转型)
    • reinterpret_cast(低层次的重新解释转换)
    • static_cast(用于基本的非多态类型转换)

三、运算符示例

算术运算符

int a = 10;
int b = 5;
int sum = a + b;    // 15
int difference = a - b;  // 5
int product = a * b;     // 50
int quotient = a / b;    // 2
int remainder = a % b;   // 0

关系运算符

int x = 10;
int y = 20;
bool equal = (x == y);   // false
bool notEqual = (x != y);  // true
bool lessThan = (x < y);   // true
bool greaterThan = (x > y);  // false
bool lessThanOrEqual = (x <= y);  // true
bool greaterThanOrEqual = (x >= y);  // false

逻辑运算符

bool isRaining = true;
bool isUmbrella = false;
bool shouldStayIndoor = isRaining && isUmbrella;  // false
bool shouldTakeJacket = isRaining || isUmbrella;  // true
bool notRaining = !isRaining;  // false

位运算符

int num1 = 12;  // 1100
int num2 = 9;   // 1001
int andResult = num1 & num2;  // 1000 (8)
int orResult = num1 | num2;   // 1101 (13)
int xorResult = num1 ^ num2;  // 0101 (5)
int notNum1 = ~num1;  // -13 (two's complement)

赋值运算符

int value = 0;
value = 10;  // 简单赋值
value += 5;  // 加法赋值,value 现在是 15
value -= 3;  // 减法赋值,value 现在是 12
value *= 4;  // 乘法赋值,value 现在是 48
value /= 2;  // 除法赋值,value 现在是 24
value %= 5;  // 取模赋值,value 现在是 4

其他运算符

int size = sizeof(int);  // 获取 int 类型的大小
int *ptr = &value;       // 取地址
int originalValue = *ptr;  // 解引用
int array[5] = {1, 2, 3, 4, 5};
int firstElement = array[0];  // 访问数组的第一个元素

特殊运算符

class MyClass {
public:void myMethod() {}
};MyClass obj;
void (MyClass::*mptr)() = &MyClass::myMethod;  // 成员指针int main() {MyClass obj;(obj.*mptr)();  // 通过成员指针调用成员函数return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

JVM 调优篇8 调优案例5- 逃逸分析

一 逃逸分析 1.1 概念 逃逸分析的基本行为就是分析对象动态作用域&#xff1a;当一个对象在方法中被定义后&#xff0c;对象只在方法内部使用&#xff0c;则认为没有发生逃逸。当一个对象在方法中被定义后&#xff0c;它被外部方法所引用&#xff0c;则认为发生逃逸。例如作为…

聊聊Thread Local Storage

聊聊ThreadLocal 为什么需要Thread Local StorageThread Local Storage的实现PThread库实现操作系统实现GCC __thread关键字实现C11 thread_local实现JAVA ThreadLocal实现 Thread Local Storage 线程局部存储&#xff0c;简称TLS。 为什么需要Thread Local Storage 变量分为全…

ubuntu中Python解释器位置

在Ubuntu系统中&#xff0c;Python解释器通常位于/usr/bin/python或者/usr/bin/python3。 ls /usr/bin/python* 你查python版本可能不是3.10 但是你程序使用如下解释器配置即可运行访问 #!/usr/bin/python3.10 #-*- coding:UTF-8 -*-

前端vue-ref与document.querySelector的对比

ref只在本组件中查找&#xff0c;而document.querySelector是在整个页面查找

一文说清楚ETL与Kafka如何实现集成

ETL与Kafka为何需要集成? 随着企业对实时流数据的处理要求越来越高&#xff0c;很多企业都把实时流数(日志、实时CDC采集数据、设备数据…)先推入到kafka中&#xff0c;再通过ETL对kafka中的数据进行消费通过ETL强大的数据的转换、清洗功能来进行数据的集成与分发。 实时数据…

Qt日志输出及QsLog日志库

目录 Qt日志输出及QsLog日志库日志输出格式化日志普通格式化条件格式化环境变量设置格式化日志输出位置日志输出对象信息禁用输出 QsLog日志库使用方法1. 将QsLog目录添加到项目中2. 配置CMakeLists.txt文件3. 配置.pro文件4. 日志记录器的配置5. 运行程序6. 启用行号和文件名C…

新通话,新突破!菊风荣获第七届“绽放杯”5G消息与新通话专题赛二等奖!

2024年9月9日&#xff0c;由中国信息通信研究院、中国通信企业协会主办的第七届“绽放杯”5G应用征集大赛5G消息及新通话专题赛决赛及颁奖仪式在西安富力希尔顿酒店成功举办。 PART 1 菊风荣获「绽放杯」二等奖 实力见证 荣耀加冕 经过初赛、复赛、决赛的层层选拔&#xff0c…

Prometheus - nVisual插件让运维更轻松

Prometheus 是一个开源的服务监控系统和时间序列数据库&#xff0c;常用于对基础设施的监控&#xff0c;监控范围涵盖了硬件层、操作系统层、中间件层、应用层等运维所需的所有监控指标类型&#xff0c;同时可利用第三方可视化工具Grafana实现时序数据的展示。然而&#xff0c;…

深度学习笔记17_TensorFlow实现咖啡豆识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 一、我的环境 1.语言环境&#xff1a;Python 3.9 2.编译器&#xff1a;Pycharm 3.深度学习环境&#xff1a;TensorFlow 2.10.0 二、GPU设置…

96 kHz、24bit 立体声音频ADC芯片GC5358描述

概述&#xff1a; GC5358 是一款高性能、宽采样率、立体声音频模数转换器。其采样率范围是8KHz~96KHz&#xff0c;非常适合从消费级到专业级的音频应用系统。单端模拟输入不需要外围器件。GC5358 音频有两种数据格式&#xff1a;MSB对齐和 I2S 格式&#xff0c;和各种如 DTV、D…

移动技术开发:简单文本编辑器

1 实验名称 简单文本编辑器 2 实验目的 掌握基本布局管理器的使用方法和基本控件的使用方法&#xff0c;以及事件监听处理的使用方法 3 实验源代码 布局文件代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:an…

Elasticsearch:检索增强生成背后的重要思想

作者&#xff1a;来自 Elastic Jessica L. Moszkowicz 星期天晚上 10 点&#xff0c;我九年级的女儿哭着冲进我的房间。她说她对代数一无所知&#xff0c;注定要失败。我进入超级妈妈模式&#xff0c;却发现我一点高中数学知识都不记得了。于是&#xff0c;我做了任何一位超级妈…

Java servlet《网吧机房管理系统浅析》

网吧机房管理系统在网吧运营中起着至关重要的作用。 对于用户而言&#xff0c;该系统提供了便捷的登录方式&#xff0c;通过用户名和密码可准确显示所在网吧机房号&#xff0c;便于快速定位。同时&#xff0c;合理的机房分配功能确保用户获得良好上网体验。遇到问题时&#xff…

两栏布局和三栏布局的实现方法

两栏布局 右侧不设置宽&#xff0c;实现一栏自适应。 1. float margin-left 左侧设置float&#xff0c;且设置宽度&#xff0c;右侧margin-left为左侧的宽度 <head><style>.left{width: 300px;height: 500px;background-color: palegreen;float: left;}.right…

AI 基础设施:构建AI时代全栈云计算体系

生成式AI 新时代下催生新的基础设施需求 随着企业在数字化转型之路上越走越远&#xff0c;期间一场新的技术革命正在发生&#xff0c;近几年涌现的生成式AI技术正在迅速改变科技、商业和整个社会的格局。这种强大的技术能够从数据中学习并生成预测性输出&#xff0c;生成式 AI …

使用chatgpt降低论文重复率的方法和需要注意的一些细节

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 要降低论文的重复率&#xff0c;可以借助ChatGPT进行多种方式的优化。以下是几种策略&#xff1a; 1. 重写段落或句子&#xff1a; 输入你认为可能重复率较高的段落或句子&#xff0c;…

前端JavaScript导出excel,并用excel分析数据,使用SheetJS导出excel

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f…

Windows通过网线传文件

文章目录 网线网络中看不到另一台计算机Nginx参考文献 网线 两台电脑用网线连接 电脑A 控制面板\网络和 Internet\网络和共享中心 → 更改适配器设置 → 右键以太网&#xff08;未识别的网络&#xff09; → 属性 → Internet 协议版本 4 (TCP/IPv4) 属性 → 使用下面的 IP …

SQL编程题复习(24/9/19)

练习题 x25 10-145 查询S001学生选修而S003学生未选修的课程&#xff08;MSSQL&#xff09;10-146 检索出 sc表中至少选修了’C001’与’C002’课程的学生学号10-147 查询平均分高于60分的课程&#xff08;MSSQL&#xff09;10-148 检索C002号课程的成绩最高的二人学号&#xf…

en造数据结构与算法C# 群组行为优化 和 头鸟控制

实现&#xff1a; 1.给鸟类随机播放随机动画使得每一只鸟扇翅膀的频率都不尽相同 2.可以自行添加权重&#xff0c;并在最后 sumForce separationForce cohesionForce alignmentForce;分别乘上相应权重&#xff0c;这样鸟就能快速飞行和转向辣 using System.Collections.Ge…