mud_sanc 板


LINE

mud 板 typers 板友有贴文,原文 ┌─────────────────────────────────────┐ │ 文章代码(AID): #1RBSlxn9 (mud) [ptt.cc] [请益] LPC 数值转型 │ │ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud/M.1529727995.A.C49.html │ └─────────────────────────────────────┘ 大意是,如果把以下的 code 贴到running 去跑的话: // int i 在 running code 预设为已宣告 if(1) { float f=3.14; i=(int)f; if(intp(i)) write("i 是整数.\n"); else if(floatp(i)) write("i 是浮点数.\n"); else write("i 是其它型态.\n"); } 执行结果: ========== 程式执行区 ========== i 是浮点数. ========== 程式执行区 ========== 也就是说,看起来,(int) 的动作并非表面地把它後面接的 东西强制变成整数型态,而是实际上比方阿银跟伊莉莎白站 在一起时,我们原本能区分他们的不同(两者是不同型态), 而 (int)阿银这个动作就类似把伊莉莎白装套在阿银身上, 这时阿银的型态就会被视为是伊莉莎白,使 i = (int)阿银 这样的程式段不会出 error。 (各位可想成若 i = f 就会出 error, i = (int)f 则不会) 但是实际上它做的事情,是把伊莉莎白变成了阿银。 (即 i 变成了 f,这里是指等号两边都接变数时) 那为啥这样写不会出问题? 因为实际上我们很少把一个已经 宣告为 float 的 "变数" 再用其它型态的变数去 = 它,我 们通常是这样做: int lv = (int)ppl->query("level"); string names = (string)ppl->query("name"); mapping data = (mapping)ppl->query("guild"); 也就是说通常我们用到的场合,等号後面接的是一个读取值 的动作,而不是一个明确的宣告变数。 但大家仍要注意,它可能会有 bypass 某些 error 产生的情 况,既然是 error 就应该被呈现出来而不是被忽略无视。 之所以不说"看起来等号後面的动作会变更等号前面的变数型 态",是因为底下的 running code: i=(int)me->query("xxxxx"); // 实际上读出的值为 null if(intp(i)) write("i 是整数.\n"); else write("i 是其它型态.\n"); ========== 程式执行区 ========== i 是整数. ========== 程式执行区 ========== 若按照上面的说法,则 i 应该是其它型态,值应该是 null。 Laechan --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.117.106.224
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1529804654.A.DB9.html 修正了一些叙述。 ※ 编辑: laechan (122.117.106.224), 06/24/2018 18:29:10
1F:→ typers : LPC 并没有 null 这种东西, 上述的 06/24 22:37
2F:→ typers : i=(int)me->query("xxxxx"); 实际会回传 0 06/24 22:38
3F:→ typers : 这个 0 比较特别,在 intp 跟 undefinedp 都会回传 1 06/24 22:39
4F:→ laechan : 跟直觉的想法都不太一样呢(笑 06/25 09:01
5F:→ laechan : 嘛我的意思就是比方被 undefinedp 回传为 1 的情况 06/25 09:06
※ 编辑: laechan (122.117.106.224), 06/25/2018 09:06:41







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP