关于代码 ij = I::oO(0xB81l);

在VS2012,打开“工具菜单”中的“选项”。在左侧菜单中“字体和颜色”部分,可以发现代码

ij = I::oO(0xB81l);

191410_FnNv_1425762.png

这句代码是VisualStudio里的一个示例,包含了字符对i和j、:和;、oO和0、B和8、1l和I。有些字体这几组字符(特别是0和O)很难区分。

(我选了等宽字体Consolas作为我VS里文本编辑器的字体,这个字体里0里面比O多一个斜线)

为了探究这段代码的含义,我们做个实验:

1)在VS2012中建立一个C++控制台应用程序

191631_mJUg_1425762.png

191632_vhGR_1425762.png

191635_bXXB_1425762.png

2)输入下面代码

// Just4Fun.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

namespace I
{
    int oO(int num)
    {
        return num;
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    int ij;

    ij = I :: oO(0xB81l);

    printf("%d\n", ij);  //输出ij的值
    char c = ' ';        //读取一个字符赋到c中
    scanf_s("%c", c);
    return 0;
}

3)程序运行结果

191934_g7Ep_1425762.png

可以看到运行结果为2945

代码含义:ij是一个被赋值的变量。I是一个命名空间,oO为该命名空间下的一个函数,0xB81l为该函数的参数。0xB81即十六进制数B81,转化为十进制后值为11*16*16+8*16+1=2945,后面的l表示此数为long类型。

转载于:https://my.oschina.net/Tsybius2014/blog/293870

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值