专栏首页leoayC++の表达式与语句

C++の表达式与语句

题图:NoCopy

字数:952 | 半分钟读完我1.5小时的思考

C++表达式

天我们简单介绍一下C++中的表达式,那么什么是表达式呢?我所理解的就是能表示操作数之间运算关系的表达式,那么表示操作数之间运算关系的是怎么实现的呢?是由运算符实现的,其实运算符才是表达式中的关键所在。下面我们重点说说运算符。

单目运算符与双目运算符

运算符有单目运算法与双目运算符之分。所谓单目运算符就是使用时只需要一个操作数,比如我们常见的取地址符(&),还有之前说到vector与array中的解引用运算符(*), 这个在C语言中,经常被用来取某个地址所存内容的值,因此又叫取值运算符。

#include <vector>

int main(){

    int num = 10;
    std::vector<int> vec1={1, 2, 3, 4};
    for(auto 1 = vec1.begin(); 1 != vec1.end(); ++i)
        std::cout << *i << std::endl;
}

重载运算符

C++中有一种比较特殊的运算符,重载运算符。我们知道C++的运算符可以用在基本内置类型,也可以用在类类型。那么这两者有什么不同呢?当用于类类型时,这些运算符可以被用户自定义,也就是说它可以有新的含义。因为形同义不同所以被称作重载运算符。

那么,我们在这之前有没有见过呢?当然!其实我们常见的IO库中 << 和 >>就是重载运算符,除此之外,我们之前介绍的string, vector, array, 迭代器等,它们使用的运算符都是重载运算符。这样初步看,重载运算符相对于普通的运算符更加灵活。实际上,重载运算符就像是我们自己创造的一样,我们可以定制化我们自己的运算符。

左值和右值

下面简单说一下左值与右值,我刚学习C++的时候,有一个感觉就是,左值?右值?傻傻分不清楚!所以下面我一定要把这两个概念讲清楚,因为后面我们学到C++中的高阶用法时,这两个概念会时不时蹦出来, 其实一查,也没那么难。

C++表达式只可能是左值和右值其中的一种。左值与右值是由一定的历史渊源的,它们继承自祖辈C语言,只不过C语言中的概念很简单:就是左值能放在赋值符号的左边,右值只能放在赋值符号的右边。

然鹅,C++中的就要复杂得多,在不同的符号前,它们的用法不用,比如:

赋值运算符、取地址符、内置解引用运算符、下标运算符等等,它们的用法都是不同的。

为了赶在12点前发出去看来今天的文章是写不完了,没事儿,明天继续接着说。先发出去吧,我开始写明天的文章了,毕竟咱说好的日更,不能停,天塌了,也必须日更!

本文分享自微信公众号 - leoay(leoay_Do),作者:leoay

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++表达式与语句完结

    今天,我们就将表达式和语句这部分完结了吧,其实这个真的非常基础,会C的人,就可以忽略了。但是为了保证内容的完整和连贯,我还是简单写一写。

    leoay
  • 4个步骤,3种笔记,教你学会麦肯锡笔记思考法(1)

    你好,朋友,好久不见,最近还好吗?有没有坚持阅读呢?我最近读了《麦肯锡笔记思考法》这本书,觉得很有价值,在此分享给大家,接下来我会写四篇文章分享一下我从这本书中...

    leoay
  • 怎样才能有更加深度的思维?(II)

    可视化思维是指,将各种信息(包括任务的原始信息、你推演出的临时信息、你大脑中的已有的信息)以看得见的形式集中存储在某个平面上——纸张、黑板、电脑屏幕等,存储的信...

    leoay
  • Java之运算符(下)

    条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。

    用户5224393
  • 第 14 章 重载运算与类型转换

    用户1653704
  • C优先级

    圆括号【()】、下标运算符【[]】、分量运算符的指向结构体成员运算符【->】、结构体成员运算符【.】

    开源519
  • C#运算符的优先级

    在C#中,一共有38个常用的运用符,根据它们所执行运算的特点和它们的优先级,为了便于记忆,我将它们归为七个等级:1、单元运算符和括号。2、常规算术运算符。3、位...

    郑小超.
  • python运算符

    & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

    老雷PHP全栈开发
  • 【程序源代码】《零基础学编程-python》第2期20200622

    什么是运算符?运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。在vb2005中运算符大致可以...

    程序源代码
  • PHP 基本语法篇:运算符

    介绍完了 PHP 中的基本数据类型和数组,今天我们结合数据类型介绍 PHP 语言中的运算符和流程控制,非常简单,我们简单过一下即可。

    学院君

扫码关注云+社区

领取腾讯云代金券