c++ - vector 元素不更新

标签 c++

为什么 i.X 和 i.Y 没有在 fb.Entities 集合中更新?

我做错了什么吗?我正在学习,这是更新 vector 中某些值的正确方法吗?

    for (Entity i : fb.Entities) 
    {
        if (i.Serial == SerialID)
        {
            i.X = (USHORT)((data[5] << 8) + data[6]);
            i.Y = (USHORT)((data[7] << 8) + data[8]);
            break;
        }
    }

最佳答案

你需要

for (Entity& i : fb.Entities) 

获取实际实体,而不是拷贝。

关于c++ - vector 元素不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14004546/

相关文章:

c++ - 如何在 C++ 中对字符串进行冒泡排序?

c++ - 如何复制只有两个迭代器的数据?

c++ - SSE:我是否应该将洗牌掩码设置为静态变量?

c++ - 为什么函数范围内不允许类前向声明​​?

c++ - Winsock 的 connect() 函数超时

c++ - 为什么我们用boost::posix_time::ptime减去unix纪元得到time_t

c++ - Electron 应用程序和 Win32 native 桌面应用程序之间的进程间通信

没有提升的 C++ 简单聊天客户端

c++ - 提高车牌识别度

c++ - OpenAL播放捕获的音频数据c++