详解详解C++语言中的加法运算符与赋值运算符的用法语言中的加法运算符与赋值运算符的用法
主要介绍了C++语言中的加法运算符与赋值运算符的用法,是C++入门学习中的基础知识,需要的朋友可以参考下
加法运算符:加法运算符:+ 和和 -
语法
expression + expression
expression – expression
备注
相加运算符为:
加 (+)
减 (–)
这些二进制运算符具有从左至右的关联性。
相加运算符采用算术或指针类型的操作数。加法 (+) 运算符的结果是操作数之和。减法 (–) 运算符的结果是操作数之差。如果
一个操作数是指针或两个操作数都是指针,则它们必须是指向对象的指针,而不是指向函数的指针。如果两个操作数都是指
针,则结果没有意义,除非它们是指向同一数组中的对象的指针。
相加运算符采用 arithmetic、integral 和 scalar 类型的操作数。下表定义了这些操作数。
用于相加运算符的类型
S.N. 构造函数构造函数 & 描述描述
arithmetic 整型和浮点类型统称为“算术”类型。
integral
所有大小(long、short)和枚举数的 char 和 int 类型为“整数”类
型。
scalar 标量操作数是算术类型或指针类型的操作数。
这些运算符的合法组合为:
算术 + 算术
标量 + 整数
整数 + 标量
算术 – 算术
标量 – 标量
请注意,加法和减法不是等效运算。
// expre_Additive_Operators.cpp
// compile with: /EHsc
#include <iostream>
#define SIZE 5
using namespace std;
int main() {
int i = 5, j = 10;
int n[SIZE] = { 0, 1, 2, 3, 4 };
cout << "5 + 10 = " << i + j << endl
<< "5 - 10 = " << i - j << endl;
// use pointer arithmetic on array
cout << "n[3] = " << *( n + 3 ) << endl;
}
指针加法
在加法运算中,如果其中一个操作数是指向对象数组的指针,则另一个操作数必须是整型。结果为与原始指针类型相同的指针
和指向另一个数组元素的指针。以下代码片段阐述了此概念:
short IntArray[10]; // Objects of type short occupy 2 bytes
short *pIntArray = IntArray;
for( int i = 0; i < 10; ++i )
{
*pIntArray = i;
cout << *pIntArray << "\n";
pIntArray = pIntArray + 1;
}
虽然将整数值 1 添加到 pIntArray,但这并不表示“将 1 添加到该地址”,而是指“调整指针使其指向数组中的下一个对象”,而该
对象恰好是在 2 字节(或者 sizeof( int ))之外。
评论0
最新资源