C# 和 C++ 中 ++i 运算符的区别

2024-04-14

我用 C++ 和 C# 编写了以下代码

 int i=0;
 ++i = 11;

此 C# 编译器出现错误后

The left-hand side of an assignment must be a variable, property or indexer

但是 C++ 编译器生成此代码没有错误,我得到了结果11对于价值i。造成这种差异的原因是什么?


不同之处在于预自增运算符是lvalue在 C++ 中,而不是在 C# 中。
In C++ ++i返回对递增变量的引用。在 C# 中++i返回变量 i 的增量值。
所以在这种情况下++i is lvalue在 C++ 中和rvalue in C#.

来自关于前缀增量运算符的 C++ 规范

操作数的类型应为算术类型或指向 完全定义的对象类型。该值是新的值 操作数;它是一个lvalue.

P.S.后缀增量运算符 i++ 在 C# 和 C++ 中都不是左值,因此这行代码在两种语言中都会带来错误。

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

C# 和 C++ 中 ++i 运算符的区别 的相关文章

  • MSI 和 EXE 安装程序有什么区别,我应该选择哪一个? [复制]

    这个问题在这里已经有答案了 可能的重复 msi 和 setup exe 文件之间有什么具体区别 https stackoverflow com questions 1789530 what are the specific differen
  • c++11 正则表达式比 python 慢

    嗨我想了解为什么以下代码使用正则表达式进行分割字符串分割 include
  • MVC Core IActionResult 含义

    什么是IActionResult 我尝试查看 MSDN 和其他网站 但需要通用 常见 易于理解的答案 MSDN IActionResult https learn microsoft com en us dotnet api microso
  • 为什么在 C# 中成员初始值设定项中不允许这样做,但在 VB.Net Me 中允许

    我正在将 VB Net 应用程序转换为 C 并注意到在 VB Net 代码中 有一个私有成员变量 它是使用Me像这样 Private m ClassA As New MyCollection Of ClassA Me 当我将其转换为 C 代
  • gtest 和 gmock 有什么区别?

    我试图理解的目的google mock Google 的 C 模拟框架 https github com google googletest blob master googlemock README md 我已经与gtest较早 但我还是
  • 隐式方法组转换陷阱

    我想知道为什么给定代码的输出 在 LinqPad 中执行 void Main Compare1 Action Main Dump Compare2 Main Dump bool Compare1 Delegate x return x Ac
  • 将列表(对象)转换为列表(字符串)

    有没有办法转换List of Object to a List of String 在 c 或 vb net 中而不迭代所有项目 幕后迭代很好 我只想要简洁的代码 Update 最好的方法可能就是进行新的选择 myList Select f
  • 具有多重继承的类的 sizeof

    首先 我知道 sizeof 取决于机器和编译器的实现 我使用的是 Windows 8 1 x64 gcc 5 3 0 没有标志传递给编译器 我从大学讲座中得到了以下代码 include
  • async wait 在调用异步方法时返回 Task> 而不是 List

    我正在尝试了解 async wait 的用法 并且研究了一些博客文章 现在我已经编写了一个测试代码 但它没有按照我期望的方式工作 我有一个返回列表的方法 private List
  • 如何在 C++ 中对静态缓冲区执行字符串格式化?

    我正在处理一段对性能要求非常高的代码 我需要执行一些格式化的字符串操作 但我试图避免内存分配 甚至是内部库的内存分配 在过去 我会做类似以下的事情 假设是 C 11 constexpr int BUFFER SIZE 200 char bu
  • 以标准用户身份打开默认浏览器 (C++)

    我目前正在使用 ShellExecute 打开 在用户浏览器中打开 URL 但在 Win7 和 Vista 中遇到了一些麻烦 因为该程序作为服务运行提升 当 ShellExecute 打开浏览器时 它似乎读取 本地管理员 配置文件而不是用户
  • 枚举器上的 [[maybe_unused]]

    查看规格 maybe unused http en cppreference com w cpp language attributes 它指出 出现在类 typedef 变量 非静态数据成员 函数 枚举或枚举器的声明中 如果编译器对未使用
  • 套接字:监听积压并接受

    listen sock backlog 在我看来 参数backlog限制连接数量 这是我的测试代码 server initialize the sockaddr of server server sin family AF INET ser
  • 如何用C++解析复杂的字符串?

    我试图弄清楚如何使用 解析这个字符串sstream 和C 其格式为 string int int 我需要能够将包含 IP 地址的字符串的第一部分分配给 std string 以下是该字符串的示例 std string 127 0 0 1 1
  • .Net Core 中的脚手架以及解决方案中的多个项目

    我创建了一个针对 net461 的 Net Core MVC6 应用程序 我使用了一个我非常熟悉的项目结构 其中我将数据 模型和服务类放置在单独的类库项目中 并且 Web 项目引用这些项目 当我尝试搭建控制器时 我收到一条错误 指出我正在搭
  • std::string 在 Visual Studio 上的具体行为?

    我有一个项目需要读取 写入大文件 我决定使用 ifstream read 将这些文件一次性放入内存中 放入 std string 中 这似乎是在 C 中执行此操作的最快方法 http insanecoding blogspot com 20
  • 如何使用 libpq 获取双精度值?

    The examples http www postgresql org docs 9 3 interactive libpq example htmllibpq 文档中展示了如何通过将整数值转换为主机字节序表示来获取整数值 我很好奇必须做
  • C 中的 N 依赖注入 - 比链接器定义的数组更好的方法?

    Given a 库模块 在下文中称为Runner 它作为可重复使用的组件 无需重新编译 即静态链接库 中应用程序分区架构的 而不是主分区 请注意 它仅包含main 出于演示目的 Given a set 顺序无关 调用的其他模块 对象Call
  • 使用 roslyn 扩展 C# 语法

    我试图在没有 else 情况的情况下实现 return if return value if 因为我只想在条件有效时返回或返回一个值 我知道 有if condition return or if condition return value
  • 编译器可以报告未知属性的错误吗?即使有范围?

    在N3291 7 6 1 3 5 属性语法和语义 decl attr grammar 关于如何属性是用我读过的源代码写的 使用一个属性范围令牌是有条件支持的 实现定义的行为 and For an 属性标记本国际标准中未指定 该行为是实现定义

随机推荐

  • 使子视图与父滚动视图的宽度匹配

    我有一个带有许多 EditText 子项的水平滚动视图 我希望这些子级中的每一个都与父级滚动视图的可见区域具有相同的宽度 这在 XML 中可能吗 您可以编写一个小辅助类来做到这一点 我们正在创建一个非常小的类来扩展EditText call
  • Cypress 获取 href 属性

    我有一个测试用例 其中有一个在新选项卡中打开的链接 由于 Cypress 不支持多个选项卡 我想获得href该链接的属性 然后在同一选项卡中打开它 我正在尝试这样做 但由于某种原因它不起作用 it Advertise link should
  • ContextMenu 的 MenuItem DataContext 返回旧项目

    我在 LongListSelector 中使用 ContextMenu 以便可以删除绑定到 LLS 的列表中的一些项目 我正在遵循最近的指南here http www windowsphonegeek com articles the ne
  • 使用 Google 跟踪代码管理器等待 dataLayer.push()

    当用户按下网络中的按钮时 我必须发送谷歌标签管理器事件 事实上 这个按钮位于一个 iframe 内 单击后 该 iframe 被关闭 另一个 iframe 出现 我在 JavaScript 的点击事件上设置此事件数据 然后调用 dataLa
  • 在动画的 onFinished EventHandler 中使用 showAndWait 不起作用

    在JavaFx中 我想在动画结束后显示一个模式对话框 由于某种原因 在动画结束后执行的 EventHandler 中调用 showAndWait 不起作用 显示一个新窗口 但里面似乎没有绘制任何内容 这个例子说明了这个问题 public v
  • 如何使文本框适合表格单元格

    一直在尝试将文本框 自动调整文本框宽度 放入HTML表格的单元格中 但没有成功 任何人都可以帮忙吗 谢谢 我拥有的 td td
  • 创建所有节点具有相同入度和出度的矩阵

    我已经用图论术语阐述了这个问题 但概念化是不必要的 我想要做的是 使用 Python 生成一个由 0 和 1 组成的矩阵 其中每行都有相同数量的 1 每列都有相同数量的 1 当行数 发送节点 不等于列数 接收节点 时 行数将与列数不同 这是
  • FileProvider.getUriForFile 抛出 StringIndexOutOfBoundsException

    首先要提到的是 问题的答案here https stackoverflow com questions 47931146 fileprovider geturiforfile is causing stringindexoutofbound
  • 将 ZeroMQ 与 C# 和 inproc 传输一起使用

    我正在尝试 ZeroMQ 并试图得到某物在职的 我的第一个想法是使用 inproc 传输设置 REP REQ 看看是否可以在两个线程之间发送消息 下面的大部分代码取自 clzmq 示例 但它似乎不起作用 服务器和客户端都绑定到传输 但是当客
  • 将 SUMPRODUCT 与 TRANSPOSE 结合使用

    我正在尝试使用TRANSPOSE http www techonthenet com excel formulas transpose php inside SUMPRODUCT http www techonthenet com exce
  • iPad 上的 HTML5 视频元素不会触发 onclick 或 touchstart 事件?

    我正在尝试将一些事件附加到 iPad Web 应用程序内的 HTML5 视频元素 但它们似乎没有触发 我已经在设备和模拟器中对此进行了测试 并得到了相同的结果 然而 这些事件 至少对于 onclick 在桌面 Safari 中运行良好 我也
  • Powershell 等待 dotnet run 在某个端口上启动应用程序

    我正在编写一个脚本 该脚本应该依次运行两个 dotnet 应用程序 根据其 launchSettings json 第一个位于端口 5000 第二个位于端口 5001 到目前为止 这是运行应用程序的脚本 app1ProjectFolder
  • 将事实收集到事实缓存的最快方法

    我正在尝试让 Ansible 与 limit 一起工作 为此我需要有关其他主机的事实 我正在使用fact caching进行缓存 我应该运行什么命令 以便它只收集所有主机上的所有事实并缓存它们 而不运行任何任务 像这样的东西设置模块 htt
  • 如何使用 Visual Studio 2015 模拟 iOS 后台获取

    我搜索了一段时间 但找不到如何使用 Visual Studio 2015 模拟 iOS 后台获取 似乎有一种方法可以在 XCode 中执行此操作 但我找不到 Visual Studio 2015 的任何内容 有人可以帮忙吗 打开项目选项并转
  • Git 从新克隆的存储库签出到分支会导致该分支中的未暂存更改

    我有一个奇怪的 git 问题 在检查了一个分支 远程跟踪的 后 我立即获得该分支中已修改和未暂存的更改 我再次克隆了存储库以验证问题是否仍然存在 我使用 Windows 和 gitblit 作为 Git 服务器 您知道为什么会发生这种情况吗
  • 如何使用 javascript 访问 Chrome 中的另一个选项卡?

    基本上 当我在 Chrome 控制台中运行此脚本时 我想获取当前 url 打开一个新选项卡 并将其设置为文本框的值 javascript function var url location href var newtab window op
  • 通过 JPA 关系进行 Bean 验证

    我想使用 Bean Validation 来注释实体中的约束 现在的问题是 实体上的关系也会得到验证吗 例如 假设我有以下实体 Entity Table name css empresa public class Empresa exten
  • 如何在 PostgreSQL 8.4 中从 string_to_array() 返回一个元素?

    我想解析具有以下类型值的字段 DAVE EBERT CONSTRUCTION 139 LENNOX STREET SANTA CRUZ CA 95060 公司电话号码 831 818 3170 我想做一个这样的查询 Update mytab
  • tkinter 错误的屏幕距离“10 0”

    My goal is to pady this section marked with a red circle slighty down Snippet of my code supposed to pady the last label
  • C# 和 C++ 中 ++i 运算符的区别

    我用 C 和 C 编写了以下代码 int i 0 i 11 此 C 编译器出现错误后 The left hand side of an assignment must be a variable property or indexer 但是