链增量运算符

2024-04-03

为什么不能连锁经营?

int test = 5;
test++++;

OR

int test = 5;
++test++;

此代码给出编译时错误。

递增或递减运算符的操作数必须是变量、属性或索引器。

我完全理解这一点,如果允许的话,将是一个完整的代码味道,几乎没有现实世界的用途。我不完全理解为什么这会导致错误。我几乎期望的价值test每个语句后为 7。


基本上,这是由于规范的第 7.6.9 节:

后缀递增或递减运算的操作数必须是分类为变量、属性访问或索引器访问的表达式。运算结果是与操作数类型相同的值。

第二句话的意思是i++被分类为value(不是变量,不像i) 并且第一句话阻止它成为运算符的操作数。

我怀疑它的设计方式是为了简单起见,以避免出现你真的不想陷入的奇怪情况 - 不仅仅是你给出的代码,还有诸如:

Foo(ref i++);
i++ = 10;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

链增量运算符 的相关文章

  • LINQ to XML - 如何正确使用 XDocument

    现在我首先要说的是 这确实是一项任务 然而 在我遇到 Linq to XML 语法之前 我几乎已经完成了它 我有 2 个课程 曲目和 CD 现在作为作业的一部分 我创建了一张 CD 然后向其中添加了一些曲目 在搜索了大量完美解释了如何从 x
  • 实体框架代码优先 - 在另一个文件中配置

    使用 Fluent API 将表到实体的映射分开的最佳方法是什么 以便它全部位于单独的类中 而不是内联在 OnModelCreating 方法中 我目前在做什么 public class FooContext DbContext prote
  • 为什么C Clock()返回0

    我有这样的事情 clock t start end start clock something else end clock printf nClock cycles are d d n start end 我总是得到输出 时钟周期是 0
  • Linq Where 本地计数器关闭在 VS watch 中的结果不同

    我尝试删除前 3 个元素array与 LinQWhere扩展功能 这是一个例子 var array new 1 2 3 4 5 6 7 8 9 var count 3 var deletedTest1 0 var test1 array W
  • C中有const吗?

    这个问题可能很幼稚 但是 有没有constC 中的关键字 从哪个版本开始 之间有任何语义和 或句法差异吗const在 C 和 C 中 C 和 C 之间在语法上没有差异const关键字 除了一个相当晦涩的关键字 在 C 中 自 C99 起 您
  • glDrawElements 只绘制半个四边形

    这是我的功能 void Object draw2 if mIsInitialised return Tell OpenGL about our vertex and normal data glEnableClientState GL VE
  • 通过 mpi 发送 c++ std::vector

    我知道存储一个std vector
  • for 循环 - 没有效果的语句

    由于某种原因 我收到错误 statement with no effect关于这个声明 for j idx j lt iter j increment printf from loop idx i int idx punc ctxt j 你
  • 当格式字符串包含“{”时,String.Format 异常

    我正在使用 VSTS 2008 C Net 2 0 执行以下语句时 String Format 语句抛出 FormatException 有什么想法是错误的吗 这是获取我正在使用的 template html 的位置 我想在 templat
  • 在生产者-消费者情况下使用条件变量

    我正在尝试了解条件变量以及如何在生产者 消费者情况下使用它 我有一个队列 其中一个线程将数字推入队列 而另一个线程从队列中弹出数字 当生产线程放置一些数据时 我想使用条件变量向消费线程发出信号 问题是有时 或大多数时候 它只将最多两个项目推
  • 抽象类和接口之间的区别[重复]

    这个问题在这里已经有答案了 可能的重复 接口与基类 https stackoverflow com questions 56867 interface vs base class 我不明白抽象类和接口之间的区别 我什么时候需要使用哪种字体
  • C++ Primer 5th Edition 错误 bool 值没有指定最小大小?

    bool 的最小大小不应该是 1 个字节吗 这有点学术性的东西 尽管它们会转换为数字 并且 与其他所有事物一样 它们最终将基本上由计算机内存中的数字表示 但布尔值不是数字 你的bool可以取值true 或值false 即使您确实需要至少 1
  • 使用 Linq 进行异步Where过滤

    我有一个List通过填充的元素async调用 WebService 没问题 我需要过滤该列表以便在应用程序视图上显示某些内容 我试过这个 List
  • 标准 C 中的 sizeof 与 sizeof()? [复制]

    这个问题在这里已经有答案了 我看到一些直接使用 sizeof 的代码 想知道它是否是标准 C 令我惊讶的是 它运行得很好 这是一个例子 include
  • 使用 AutoMapper 进行 LINQ GroupBy 聚合

    试图让查询工作 但老实说不确定如何 或者是否可能 进行它 因为我尝试过的一切都不起作用 共查询6个表 Person PersonVote PersonCategory Category City FirstAdminDivision Per
  • 为什么 C 函数不能返回数组类型?

    我是 C 语言新手 想知道 为什么 C 函数不能返回数组类型 我知道数组名是数组第一个值的地址 而数组是 C 中的二等公民 您自己已经回答了这个问题 数组是二等公民 C 按值返回 数组不能按值传递 因此不能返回它们 至于为什么数组不能按值传
  • 通过 MSBuild 调用 cl.exe 时无限期挂起

    我正在尝试在我的 主要是 C 项目上运行 MSBuild 想象一下一个非常庞大的代码库 Visual Studio 2015 是有问题的工具集 Windows 7 SP1 和 VS 2015 更新 2 即使使用 m 1 从而迫使它仅使用一个
  • 为什么我不能在扩展 List 的类中调用 OrderBy?

    我有一堂课 Deck 其中包含一个名为的方法Shuffle 我正在致力于重构Deck延长List
  • 在 MVVM 中,可以在视图后面的代码中访问 ViewModel 吗?

    在 MVVM 模式中 是否可以接受甚至可以访问视图代码后面的 ViewModel 属性 我有一个可观察的集合 它填充在 ViewModel 中 我需要在视图中使用它来绑定到带有链接列表的无限滚动条 IE private LinkedList
  • 如何使用 g++ 在 c++ 20 中使用模块?

    我读了这个链接https gcc gnu org wiki cxx modules https gcc gnu org wiki cxx modules并尝试从该网站复制以下示例 我已经知道这个编译器部分支持模块系统 注 我用的是windo

随机推荐

  • C++绘制像素问题

    如何制作窗口 或者更像剪辑区域 我可以在其中绘制像素 它可能使用 WinApi 但是我不希望我的项目看起来像 winapi 所以它将有 int main 代替 int WINAPI WinMain HINSTANCE 我找到了一个例子 我可
  • django admin - 如何显示缩略图而不是文件路径

    我正在尝试在管理界面中显示模型的缩略图 当我使用 list display 添加图像字段时 它显示文件的路径而不是图像本身 如何显示图像并控制其大小 我通过添加解决了这个问题 def image thumb self return img
  • 有哪些开源 C 项目值得学习来学习好的设计? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有哪些小型 C 语言开源项目对于学习良好的设计很有趣 该项目应该是 不太大 像linux内核 有据可查 也许仍在积极开发中 我刚刚开始学习
  • 错误:未指定模块(IntelliJ IDEA)

    我试图在 IntelliJ IDEA 中作为静态 Web 项目执行一个简单的程序 我是新手 正在学习使用 Node js 进行 Web 开发 我向IntelliJ IDEA官网寻求帮助 但错误还是一样 不过 我还配置了设置和项目结构 Err
  • 我怎样才能说服 IE 只显示 application/json 而不是提供下载它?

    在调试使用 AJAX 的 jQuery 应用程序时 我经常需要查看服务返回到浏览器的 json 因此 我会将 JSON 数据的 URL 放入地址栏中 这对于 ASPNET 来说很好 因为如果出现编码错误 我可以在浏览器中看到 ASPNET
  • 从 SQL 脚本调用 aspnet_regsql.exe

    如何打电话aspnet regsql exe来自 SQL 脚本 谢谢 你可以看看xp cmdshell http msdn microsoft com en us library aa260689 SQL 80 aspx xp cmdshe
  • 需要与 Microsoft.SqlServer.Management.Smo Transfer 类连接的帮助

    我试图复制所有内容 数据 索引 触发器 存储过程 在 C 中从一个数据库到另一个数据库 这是我的代码 SqlConnection connection new SqlConnection ConnectionString Server my
  • 通过减去属性来获取两个对象的差异

    我试图找出两个物体之间的差异 previousChart BWP 1 ZAR 1 3 USD 0 09324 number 1 currentChart BWP 1 ZAR 1 35 USD 0 01 number 2 期望的答案是 new
  • 如何让 Swing 应用程序感知屏幕尺寸变化?

    当我的 swing 应用程序运行时 我更改屏幕尺寸 例如从 1024x768 更改为 800x600 我可以收听任何活动以获得有关此事件的通知吗 或者 我可以每隔几秒检查一次屏幕尺寸 但 Toolkit getScreenSize 不断告诉
  • 在 Apache Spark SQL 中我们可以回滚事务吗

    我想让spark sql将数据持久化 这样的话我可以使用回滚我们已经持久化的数据吗 前任 假设我们有 3 个表 t1 t2 和 t3 t1 和 t2 表数据已成功保留 但 t3 在数据完整性级别上失败了 那么我可以回滚我已经坚持的 t1 和
  • python 中的日志精度

    以下是检查数字是否可以用幂表示的源代码 但为什么代码失败n 76 89 1 and n 76 89 我该如何解决这个错误 对于两个 n 给出x log n 2 log i 2 89 0 from math import log sqrt f
  • Amazon ElasticBeanStalk 工作线程层无法连接到 SQS

    目前 我在允许我的工作人员连接到 SQS 时遇到问题 这是日志 2014 07 21T21 37 26Z error AWS SQS Errors AccessDenied Access to the resource https sqs
  • 从 java.util.date 转换为 JodaTime

    我想转换一个java util Date to JodaTime以便在日期之间进行减法 有没有一个好的简洁方法来转换Date to JodaTime java util Date date DateTime dateTime new Dat
  • 如何在网页中动态显示 ping 输出?

    作为诊断页面的一部分 我希望用户能够运行 ping 即一个普通的 shell 命令 将 ICMP ECHO REQUST 发送到某个 IP 并在浏览器的 div 中动态显示结果 后端是 Ruby Rails 我已经在服务器端运行该命令并读取
  • 如何使用 FCM 向特定用户发送通知?

    我为 FCM 准备了接收器 可以向所有设备发送通知 gcm http googleapis com gcm send使用此链接可以发送给注册的目标用户并发布到目标设备 如下所示 json notification title sample
  • R 错误:某些组对于“qda”来说太小

    我用的是MASS qda 找到我的数据的分类器 它总是报告 某些群体对于 qda 来说太小了 是由于我用于模型的测试数据的大小吗 我将测试样本大小从 30 增加到 100 它报告了相同的错误 求助啊啊啊啊啊 set seed 1345 Al
  • Spring Integration TCP - 在发送数据之前启动消息握手

    我正在使用 MessagingGateway 将数据发送到服务器 我为出站网关配置了 AbstractClientConnectionFactory 和 ServiceActivator 为了将数据发送到我的服务器 我需要在启动连接时发送握
  • delete *p 是删除 [] p 的替代方法吗?

    以下代码来自微软文档 https learn microsoft com en us cpp cpp new operator cpp view vs 2019 int p new int 7 delete p 我觉得delete p应该在
  • QUnit 与 Jasmine? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 这两个测试框架的主要区别是什么 我是测试驱动开发的新手 从头开始 QUnit 非常容易上手 因为您只需要包含两个文件和一点标记 然后就可以开始编
  • 链增量运算符

    为什么不能连锁经营 int test 5 test OR int test 5 test 此代码给出编译时错误 递增或递减运算符的操作数必须是变量 属性或索引器 我完全理解这一点 如果允许的话 将是一个完整的代码味道 几乎没有现实世界的用途