1
所以我想寫一個指針的容器,它隱藏了它是一個指針容器的事實。而對於我的AddMember
功能,這種方法很有用。基於指針容器循環的範圍中的值語義
#include <iostream>
#include <vector>
template<typename T>
class MyVector : public std::vector<T*>
{
public:
void AddMember(T& newMember)
{
this->push_back(&newMember);
}
};
int main()
{
int a, b;
MyVector<int> vec;
vec.AddMember(a);
vec.AddMember(b);
for (auto& member : vec)
{
std::cout << "Address:" << member << " Value: " << *member << std::endl;
}
return 0;
}
現在,是有可能實現想必begin()
和end()
的方式,範圍爲基礎的循環獲取值語義?即只是member
給你的價值?我不想使用boost ptr容器,因爲這將是一個非擁有容器。
這看起來像一個XY問題。你真的想要解決什麼問題? – NathanOliver
我想包裝一個std指針容器,給它一些額外的函數和值語義。我正在努力的部分我已經展示過了。不知道還有什麼要告訴你。 – Psirus