冰河 发表于 2008-7-21 09:54:56

操作符请教

今天看了下魔兽的插件对里面的几个符号不理解
g_DBTableName, (iCvar==2) ? szPlayerName : ((iCvar==1) ? szPlayerIP : szPlayerID))
这里的?和:起什么作用呢。

jim_yang 发表于 2008-7-21 10:46:56

回复: 操作符请教

条件表达式

条件 ? 语句1 : 语句2

当条件为真时, 执行语句1, 否则执行语句2

Osker Lee 发表于 2008-7-21 11:56:55

回复: 操作符请教

呵呵~ 这个假期要继续进修一下C++才行啊。:byebye:

Rulzy 发表于 2008-7-21 12:43:03

回复: 操作符请教

补充一下:
这个是条件表达式,格式如下:
条件? 表达1 : 表达2

当条件为真时,此条件表达式的值为表达1的值,否则为表达2的值。

zwfgdlc 发表于 2008-7-21 14:02:08

回复: 操作符请教

其实就是if...else..的简写

apocalyptic 发表于 2008-7-21 14:19:18

回复: 操作符请教

呵呵,长见识了,以前学VC的时候都没学过这个。

jim_yang 发表于 2008-7-21 15:33:23

回复: 操作符请教

不止简写这么简单

比如printf("%d", true ? 1 : 0);

你用if else的话就要写两句

Cr@zyTreE 发表于 2008-7-21 21:31:40

回复: 操作符请教

Post by zwfgdlc
其实就是if...else..的简写

嗯,c都有这个了

b=(a)?(a1):(a2)
就是
if(a) b=a1
else b=a2

冰河 发表于 2008-7-22 22:08:45

回复: 操作符请教

恩,后来我看到了。。。。其实是三元运算符,C里有的。
页: [1]
查看完整版本: 操作符请教