C++ 使用模板类通过引用复制向量?
我有一个向量,我需要复制它作为一个模板向量类? 因此,如果我修改原始向量中的一个元素,它也需要修改另一个元素。 这是我的主要功能C++ 使用模板类通过引用复制向量?,c++,C++,我有一个向量,我需要复制它作为一个模板向量类? 因此,如果我修改原始向量中的一个元素,它也需要修改另一个元素。 这是我的主要功能 #include <iostream> #include "thisheader.h" #include <vector> int main() { std::vector<int> v; v.push_back(2); v.push_back(4); v.push_back(6
#include <iostream>
#include "thisheader.h"
#include <vector>
int main()
{
std::vector<int> v;
v.push_back(2);
v.push_back(4);
v.push_back(6);
std::vector<double> a;
a.push_back(4.32);
templatevectorclass<int> vv(v);
templatevectorclass<double> av(a);
v[0] = 3;
if(vv[0]==v[0]){
std::cout << "good" ;
}else{
std::cout << "bad";
}
a[0] = 2.4;
if(av[0]==a[0]){
std::cout << "good" ;
}else{
std::cout << "bad";
}
}
#包括
#包括“thishheader.h”
#包括
int main()
{
std::向量v;
v、 推回(2);
v、 推回(4);
v、 推回(6);
std::载体a;
a、 推回(4.32);
模板向量类vv(v);
模板向量类av(a);
v[0]=3;
如果(vv[0]==v[0]){
std::cout据我所知,您希望将引用存储在templatevectorclass
template<class T1>
class templatevectorclass {
std::vector<T1> &reference;
public:
templatevectorclass(std::vector<T1> &vector) : reference(vector) {
}
T1 const& operator[](int index) const
{
return reference[index];
}
};
模板
类templatevectorclass{
标准::矢量和参考;
公众:
templatevectorclass(std::vector&vector):参考(vector){
}
T1常量和运算符[](整数索引)常量
{
返回参考[索引];
}
};
对不起,我不明白你的问题。你能重新措辞吗?我只看到你不需要循环。只要copy=vector。是的,我想使用引用将向量复制到模板类,因此如果我更改原始向量的值,模板类向量引用也应该更改。Idk如何使用引用,你能帮我吗?你能给我一个代码?我不知道如何用引用复制向量?谢谢:请定义什么是“通过引用复制”?复制是一回事,引用是另一回事。引用不能是副本。所以,问题听起来像是“存储对向量的引用”。
template<class T1>
class templatevectorclass {
std::vector<T1> &reference;
public:
templatevectorclass(std::vector<T1> &vector) : reference(vector) {
}
T1 const& operator[](int index) const
{
return reference[index];
}
};