我必须创建一个包含另一个向量的选定元素的向量。在一个向量中进行的更改也应该反映在另一个向量中。所以我必须使用我打算复制的元素的引用。
例如,
std::vector<int> a{1,2,3,4,5,6};
std::vector<int> b;
假设我在参考b
向量时复制奇数,b
将包含1,3和5.如果我更改b
的值,则应在a
矢量也是。
STL中的方法是做什么的?
编辑:
我假设相同的内存地址位置可以由多个变量共享
上述代码的目的是将较小的未知变量向量传递给要求解的外部求解器。由于更改将在较大的向量中自动更新,因此我无需跟踪它。看来我必须使用指针来实现上述目的。
答案 0 :(得分:3)
如果我改变b的值,也应该在矢量中看到相同的变化。
然后b不应该包含整数,而是引用。因此模板类型参数是错误的。你想要引用,而不是整数。
但是,引用不能存储在容器中。解决方法很简单:您可以使用presentationParentObj.lstCompany = getTickerName();
public List<SelectListItem> lstCompany { get; set; }
@Html.DropDownListFor(m => m.PresentationParentObj.Year, Model.lstYear, "Select Year", new { style = "vertical-align: top;", @id = "lstYear", @class = "form-control" })
这样的情况就是包装器的用途。您也可以使用指针,但指针可以为null,您可能希望避免使用它。
请记住要注意矢量文档。特别是要引用与此非常相关的失效规则。