C++ 如何访问作为类成员变量的对象向量的成员变量?

C++ 如何访问作为类成员变量的对象向量的成员变量?,c++,oop,object,pointers,vector,C++,Oop,Object,Pointers,Vector,我知道如何访问给定对象向量的成员变量,但假设 如果我有一个叫做“layer”的类 在主函数中,我可以通过 n.getnn(); 但问题是,我如何才能得到具体的指数 vector<vector<double>> val 向量值 在nn[i]无关:是否有意让getval()和getnn()始终返回成员的副本?这些…都是什么?请提供一个我不确定是否理解的问题。您似乎知道std::vector有一个操作符[]来访问nn[i]之类的元素。要访问特定层,您可以执行layer

我知道如何访问给定对象向量的成员变量,但假设

如果我有一个叫做“layer”的类

在主函数中,我可以通过

n.getnn(); 
但问题是,我如何才能得到具体的指数

vector<vector<double>> val 
向量值
在nn[i]

无关:是否有意让
getval()
getnn()
始终返回成员的副本?这些
都是什么?请提供一个我不确定是否理解的问题。您似乎知道
std::vector
有一个
操作符[]
来访问
nn[i]
之类的元素。要访问特定层,您可以执行
layer l=n.getnn()[i]
。然后,您可以使用
l.getval()[k][l]
访问特定值。还有别的事吗?(注:如前一评论所述,请注意此实现会产生大量副本,并会显著降低计算速度。)哦,在类网络中,我可以执行layer l=n.getnn()[I]…等操作,但在主函数中,我将如何执行该操作?如果我在main函数中创建一个对象,然后像layer l=n.getnn()[I]那样,它会告诉我getnn()函数不是类NetAlso的一部分,如果我想直接返回成员,那么我会返回这个->val。。。等因为它直接指向成员,所以它不会创建上述成员的副本,对吗?请解释一下你的代码,以及它如何解决问题(顺便说一句,还不清楚)。哦,这就是我要找的。这有点道理。所以我的实现是传递成员和值的副本,所以我应该尽可能使用指针?像在类层中一样,我应该改为getval(){返回this->val;}?这会提高速度吗?
float value = n.getnn()[i].getval()[j][k];
n.getnn(); 
vector<vector<double>> val 
float value = n.getnn()[i].getval()[j][k];