跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • Online Tools
  • 用户
  • 群组
折叠
品牌标识

D2Learn Forums

  1. 主页
  2. General Discussion | 综合讨论
  3. 关于c++17结构化绑定的一些问题 - auto& [u_2, v_2] 结构化绑定, 为什么decltype(u_2)结果是int而不是int&呢

关于c++17结构化绑定的一些问题 - auto& [u_2, v_2] 结构化绑定, 为什么decltype(u_2)结果是int而不是int&呢

已定时 已固定 已锁定 已移动 已解决 General Discussion | 综合讨论
c++c++17结构化绑定decltype类型推导
2 帖子 2 发布者 21 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • hammerersH 离线
    hammerersH 离线
    hammerers
    编写于 最后由 SPeak 编辑
    #1

    Screenshot 2025-09-29 001039.png 通过auto&结构化绑定的u_2可以改变s_1.a的值,为什么decltype结果是int而不是int&呢

    1 条回复 最后回复
    0
    • SPeakS 离线
      SPeakS 离线
      SPeak d2learn-dev
      编写于 最后由 SPeak 编辑
      #2

      这里decltype 对结构化绑定的别名有个特殊处理 返回的 引用类型 是结构化绑定中特殊定义的, 不是传统认为的 引用类型, 指的是成员的声明类型, 除非成员是 T & 才会返回 T &

      image.png

      • https://en.cppreference.com/w/cpp/language/decltype.html

      image.png

      • https://en.cppreference.com/w/cpp/language/structured_binding.html
      1 条回复 最后回复
      0
      • ,SPeakS SPeak 将这个主题转为问答主题
      • ,SPeakS SPeak 将这个主题标记为已解决

      • 登录

      • 没有帐号? 注册

      • 登录或注册以进行搜索。
      d2learn forums Powered by NodeBB
      • 第一个帖子
        最后一个帖子
      0
      • 版块
      • 最新
      • 标签
      • 热门
      • Online Tools
      • 用户
      • 群组