是否可以将 std::array<class T, std::size_t N>
用作类的私有(private)属性,但 在类的构造函数 中初始化其大小?
class Router{
std::array<Port,???> ports; //I dont know how much ports do will this have
public:
Switch(int numberOfPortsOnRouter){
ports=std::array<Port,numberOfPortsOnRouter> ports; //now I know it has "numberOfPortsOnRouter" ports, but howto tell the "ports" variable?
}
}
我可能会使用一个指针,但是没有它可以做到吗?
最佳答案
不,大小必须在编译时知道。请改用 std::vector
。
class Router{
std::vector<Port> ports;
public:
Switch(int numberOfPortsOnRouter) : ports(numberOfPortsOnRouter) {
}
};
关于c++ - 在使用它的类的构造函数中初始化 std::array 的大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13103219/