在G++上读到的一段简单语法,谁能帮忙解释一下什么意思。

Efcndi 2008-02-02 10:47:12
看到别人用g++编译器编译的代码段有很多如下的语句:

f[a][b] <?= t;

“<?=”这个东东从来没看到过。谁能说下是什么意思吗?

在我的VC下编译出错。
我把代码改成f[a][b] = t;源代码能够执行但是代码运行不能给出正确的结果。

help me,3X。
...全文
140 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ltc_mouse 2008-02-03
  • 打赏
  • 举报
回复
呃,GNU C扩展是支持了缺省运算数的。
例如,x?x:y 可以写成 x?:y

f[a][b] <?= t; 应该是等价于:
f[a][b]<t?:f[a][b]=t;
lz可以试试修改成 if(f[a][b]>=t) f[a][b]=t; 看看结果是否正确。

这种写法,Dev C++是可以编译通过的;尝试去搜索这个写法的依据,暂时没找到答案。
redleaves 2008-02-03
  • 打赏
  • 举报
回复
记得在某次的GCC更新日志里说这个东西已经去掉了...
stoneyrh 2008-02-03
  • 打赏
  • 举报
回复
第一次见
学习
独孤过儿 2008-02-03
  • 打赏
  • 举报
回复
这个还是第一次听说...

楼主能否把代码的上下文贴出来?最好把出现在哪个文件中的说一下
边城狂人 2008-02-03
  • 打赏
  • 举报
回复
还有这种语法啊……见识了……我看GNU C是实实在在想把人搞晕啊
Efcndi 2008-02-03
  • 打赏
  • 举报
回复
ltc_mouse的正解。谢谢。^_^ f[a][b] <?= t; -》 if(f[a][b]>=t) f[a][b]=t;
也谢谢大家的帮忙。结帖了。
dadacool 2008-02-03
  • 打赏
  • 举报
回复
长见识了
xiexie8682 2008-02-03
  • 打赏
  • 举报
回复
我看过一次有这样的代码,当时感觉用不着就没有仔细看啊 等我找到了我再给大家说啊@!
边城狂人 2008-02-02
  • 打赏
  • 举报
回复
把那一段代码贴出来。
这个?号的来源,可能是由于字符集不同造成的。
我们读某些国外的人写的代码时,就可能出现中间有?的出现,它不真的?,只是因为我们的编辑器不能识别某些字符编码把它转换成了?而已。

把你那段代码贴出来,可以根据上下文看看这里可能是什么符号。
Efcndi 2008-02-02
  • 打赏
  • 举报
回复
我就是看清楚了才搞不懂呀。
HelloDan 2008-02-02
  • 打赏
  • 举报
回复
你真的看清楚了的没有?

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧