在C++语言中赋值运算符

简介: 在C++语言中赋值运算符


在 C++ 编程语言中,赋值运算符用于将一个值的副本分配给一个变量。赋值运算符的左侧是一个变量,右侧是一个值或表达式。在执行赋值操作时,右侧的值会被复制到左侧的变量中。

基本赋值运算符

C++ 提供了以下基本赋值运算符:

=:简单的赋值运算符,用于将右侧的值复制到左侧的变量中。

+=:加赋值运算符,用于将右侧的值加到左侧变量的现有值上。

-=:减赋值运算符,用于将右侧的值从左侧变量的现有值中减去。

*=:乘赋值运算符,用于将右侧的值乘到左侧变量的现有值上。

/=:除赋值运算符,用于将左侧变量的现有值除以右侧的值。

%=:取模赋值运算符,用于将左侧变量的现有值除以右侧的值,并返回余数。

image.png

复合赋值运算符

复合赋值运算符是基本赋值运算符的扩展,它们将赋值和算术运算结合在一起。复合赋值运算符的语法与基本赋值运算符类似,只是运算符后面跟了一个赋值运算符。

image.png

赋值运算符的重载

在 C++ 中,可以对用户自定义的数据类型(如类)重载赋值运算符。重载赋值运算符可以使对象之间的赋值更为直观和易于理解

image.png

赋值运算符的短路特性

在赋值运算符中,短路特性是一个重要的概念。短路特性指的是,如果赋值运算符的右侧是一个表达式,那么只有当表达式的结果对最终赋值有影响时,才会执行整个表达式。

#include <iostream>
int main() {
    int a = 10;
    int b = 20;
    // 只有当 b 不为 0 时,才会执行 a = a + b
    a += b; // 这里 b 非 0,所以 a 的值变为 30
    return 0;
}

总之,赋值运算符是 C

相关文章
|
12天前
|
编译器 C++ 容器
C++语言的基本语法
想掌握一门编程语言,第一步就是需要熟悉基本的环境,然后就是最重要的语法知识。 C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。 类 - 类可以定义为描述对象行为/状态的模板/蓝图。 方法 - 从基本上说,一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑、操作数据以及执行所有的动作。 即时变量 - 每个对象都有其独特的即时变量。对象的状态是由这些即时变量的值创建的。 完整关键字
29 2
|
26天前
|
前端开发 编译器 程序员
协程问题之为什么 C++20 的协程代码比其他语言的协程 demo 长很多如何解决
协程问题之为什么 C++20 的协程代码比其他语言的协程 demo 长很多如何解决
|
2月前
|
C++ 容器
C++之deque容器(构造、赋值、大小、插入与删除、存取、排序)
C++之deque容器(构造、赋值、大小、插入与删除、存取、排序)
19 1
|
2月前
|
C++ 容器
C++字符串string容器(构造、赋值、拼接、查找、替换、比较、存取、插入、删除、子串)
C++字符串string容器(构造、赋值、拼接、查找、替换、比较、存取、插入、删除、子串)
36 1
|
2月前
|
C++
C++之运算符
C++之运算符
22 1
|
2月前
|
存储 编译器 C++
【C++】:拷贝构造函数和赋值运算符重载
【C++】:拷贝构造函数和赋值运算符重载
19 1
|
1月前
|
编译器 C++
【C++】详解运算符重载,赋值运算符重载,++运算符重载
【C++】详解运算符重载,赋值运算符重载,++运算符重载
|
2月前
|
编译器 C++
【C++】类和对象③(类的默认成员函数:赋值运算符重载)
在C++中,运算符重载允许为用户定义的类型扩展运算符功能,但不能创建新运算符如`operator@`。重载的运算符必须至少有一个类类型参数,且不能改变内置类型运算符的含义。`.*::sizeof?`不可重载。赋值运算符`=`通常作为成员函数重载,确保封装性,如`Date`类的`operator==`。赋值运算符应返回引用并检查自我赋值。当未显式重载时,编译器提供默认实现,但这可能不足以处理资源管理。拷贝构造和赋值运算符在对象复制中有不同用途,需根据类需求定制实现。正确实现它们对避免数据错误和内存问题至关重要。接下来将探讨更多操作符重载和默认成员函数。
|
2月前
|
程序员 编译器 C++
探索C++语言宝库:解锁基础知识与实用技能(类型变量+条件循环+函数模块+OOP+异常处理)
探索C++语言宝库:解锁基础知识与实用技能(类型变量+条件循环+函数模块+OOP+异常处理)
30 0