我需要一些建议。我正在读一个像这样输入的文件
001 100 110 000 ... ..
这些是连续的输入和输出对。
现在我需要阅读这些1和0以进行进一步处理。对于所有输入,我需要有一个像输入[0] = {0,0,1} input [1] = {1,1,0} ....的数组。我将对输入和输出对进行逐位比较,xor或..等。我正在考虑创建一个类,以便在读取输入/输出后,我可以创建该类的对象,其中所有必需的函数将被重载。例如,在这种情况下,对象将是一个包含3个元素的数组,并且只包含1和0。
现在问题是,1和0的数量可以变化。是否可以创建一个成员将是未定义大小的数组的类?或者还有其他方法吗?
我是新手。所以,我很乐意得到一些帮助。
答案 0 :(得分:2)
使用std::bitset,std::string
和std::vector
。
std::string bits = "001";
std::bitset<3> b(bits);
std::bitset
已为您提供按位操作。
创建std::vector<std::bitset<3>>
个并使用它们。
答案 1 :(得分:1)
将您的数据成员设为std::vector
。您可以使用push_back
添加元素到最后,以及其他一些东西。元素可以像数组一样访问。那里有很多很好的参考资料。
更好的是,只需首先使用向量并重载运算符以获取两个向量。