如何使用常量引用访问 vector<int*> 的元素?
How to access element of vector<int*> using constant reference?
我有一些代码尝试使用常量引用"tail"来访问vector的最后一个元素:
vector<int> v;
v.push_back(1);
printf("%dn",v.back());
int& tail=v.back();
tail=2;
printf("%dn",v.back());
输出为
1
2
现在我想有另一个代码具有类似的功能,但将int替换为int*:
vector<int*> v;
v.push_back((int*)1);
printf("%pn",v.back());
//remain part
,输出应为
0x1
0x2
剩余部分的语法是什么?
剩余部分的语法是什么?
int*& tail=v.back();
tail = (int*)2;
或
v.back() = (int*)2
您正在寻找的是int*&
。vector.back()
将返回对int
指针的引用。
vector<int*> v1;
v1.push_back((int*)1);
printf("%pn",v1.back());
int*& tail1=v1.back();
tail1=(int*)2;
printf("%pn",v1.back());
输出0x1
0x2
相关文章:
- 对的排序向量 (std::vector<pair<int, int>>) 按对的第一个元素搜索并更新第二个元素值
- C++ 未初始化的本地(非全局)int 数组中的元素类型到底是什么?
- 如何在一维数组中的每个元素中都有多个int值
- 使用SWIG将numpy数组元素(int)传递给c++int
- 从 C++ 中的 int ** 数组访问元素
- unordered_map<int,int>如何处理负面元素?
- 如何在一对集合的向量中插入元素?vector<pair<int,set<string>>>
- unordered_set是否适合存储矢量<int>元素的数据结构?如果是这样,我将如何实现哈希函数?
- 是否可以交换在 c++ 中作为函数 func(say) 中的参数传递的 const 向量的两个元素,例如:vector<int>func (const vector<int>&
- 如何仅根据第二个元素对map<int,pair<int,int> >进行排序?
- 优先级队列(使用 pairs<int,int> ) 根据 for 循环迭代器的顶级元素
- 如何将 int 数组的 1 个元素转换为字符串/字符
- 当我向 vector<int *> 添加元素时,我遇到了一些问题
- 将const int std ::数组的n元素复制到int矢量中.怎么做
- 访问矢量<矢量<int>>元素
- 如何对包含 pair<int,int> 元素的向量进行排序?排序是根据比较功能完成的
- 从矢量 c++ 添加 int 元素时出错
- 如何擦除列表中的 pair<int,int> 元素
- C++向量<int>:将 int 元素添加到向量中偶数且已经在向量中的 int 元素
- 显示列表<矢量<int>>元素