我得到一个结构,但我不知道它的大小(每次都不一样)。我想将此结构的一个字段中的最后一个位置设置为某个值。在伪代码中,我的意思是这样的: structureA.fieldB[end] = cert_value;
我会在 matlab 中完成,但是我无法在 C++ 中找到正确的语法,你能帮我吗?
最佳答案
在 Matlab 中,一个 structure数据类型保存键值对,其中“值”可能是不同类型。在 C++ 中,有一些可用的键值容器(关联容器,如 set、map、multimap),但它们通常存储单一类型的元素。如果我理解正确的话,你需要的是类似
“一”:1
“二”:[1,2,5]
“三”:“姓名”
这意味着您的结构类似于 Python dictionary .
在 C++ 中,我听说过使用真正不同类型的容器的唯一方法是使用 boost::any ,它被接受为 this question 的答案.
如果你用不同类型的元素打包一个容器,那么你可以使用容器的 end() 成员函数来获取最后一个元素。
关于c++结构字段的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14231946/