c++ - 如何强制 vector 不可变?

标签 c++ vector immutability mutable

我想限制 vector 不变。在下面的代码中,当我为每个循环使用引用并递增每个值时,相同的内容反射(reflect)在 vector 中。但我想避免。

#include <vector>
#include <iostream>

int main()
{
    std::vector<int> port = {8, 0, 8, 0};    
    for (auto &digit: port){
        digit++;
        std::cout << digit << std::endl;
    }
}

最佳答案

使用const vector<int> 之前的关键字.

const vector< int> port = {8,0,8,0};    

关于c++ - 如何强制 vector 不可变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65265341/

相关文章:

c++ - 将 vector<int> 转换为字符串

c++ - 如何使用笛卡尔积将 vector 元组转换为元组 vector ?

c# - 创建不可变的 JObject

c++ - 哪些选项(如果有)在 Visual Studio 2015 中暗示/CLR

c++ - 将测试从 GoogleTest 升级到 GoogleMock (Ubuntu 14) 时出现与 pthread 相关的错误

c++ - 这个 C++ 头文件的布局方式有什么问题吗?

c++ - 使用指针或引用访问 vector 然后遍历它缓存不友好吗?

java - 对象不变性的单元测试

java - 包含大量不可变类示例的开源代码示例?

c++ - 音乐没有开始