C++自学笔记26(宏和三元操作符)

宏的用法很简单,可玩性也比较强。

#include <iostream>

int mian()
{

    std::cin.get();
}

仅仅上述代码,运行效果就是控制台等待一个回车。

#include <iostream>
#define WAIT std::cin.get()

int mian()
{

    WAIT;
}

我们用#define将代码改写,运行效果就是依旧是控制台等待一个回车。

宏就是将代码用前面的替换。在预处理阶段,编译器知道有这个宏,当检测到响应字符时就会用其替换。为什么说可玩性高呢?

#include <iostream>
#define NB {

int mian()
NB

    std::cin.get();
}

这样的代码也是可以运行的,效果一样。侧面证明了宏就是复制替换。

我们可以替换数字 例如自带的#define NULL 0增加代码可读性。

========================================================================

三元操作符

#include <>
#include <>

static int Level = 1;
static int Speed = 2;

int main()
{
    if(Level > 5)
        Speed = 10;
    else
        Speed = 5;

    std::cin.get();
}

我们要根据等级设定速度,在两个if语句中等级大于5则speed为10,其他情况speed为5.

我们本质上就是对Speed赋值,判断level是否大于5,然后给出两个选项。按照这个思路写代码。

#include <>
#include <>

static int Level = 1;
static int Speed = 2;

int main()
{
   // if(Level > 5)
   //     Speed = 10;
   // else
   //     Speed = 5;
    Speed = Level >5 ? 10 :5;
    std::cin.get();
}

(条件)?(为真赋值):(为假赋值)

三元操作幅对于写条件语句,可以极大加强代码可读性,减少代码量。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值