作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我最近(实际上仅在 SO 上)遇到了 C/C++ 逗号运算符的使用。据我所知,它会在左侧和右侧运算符之间的线上创建一个序列点,以便您拥有可预测(已定义)的评估顺序。
我有点困惑为什么会在语言中提供它,因为它看起来像是一个补丁,可以应用于最初不应该工作的代码。我发现很难想象它可以在不太复杂(并且需要重构)的地方使用。
有人能解释一下这种语言功能的用途,以及它可以在实际代码中的什么地方(在合理范围内)使用吗?
最佳答案
在 while()
循环的情况下很有用:
while (update_thing(&foo), foo != 0) {
/* ... */
}
这避免了必须复制 update_thing()
行,同时仍保持 while()
控制表达式中的退出条件,您希望在其中找到它。它还可以很好地与 continue;
配合使用。
在编写求值的复杂宏时也很有用。
关于c++ - 使用逗号运算符是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8219836/
在我生活的世界中,构建一个将所有飞镖都扔到墙上的解决方案,并希望其中一些能命中靶心是一种非常糟糕的解决方案方法。 那么,我的问题出现了,什么时候在约定可接受的生产系统中使用 INSERT IGNORE
在数据处理时,经常会因为index报错而发愁。不要紧,本次来和大家聊聊pandas中处理索引的几种常用方法。 1.读取时指定索引列 很多情况下,我们的数据源是 CSV 文件。假设
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我是一名优秀的程序员,十分优秀!