如何使動態構造它接受的參數x量,在C++?如何在C++中創建一個動態構造函數,該構造函數需要x個參數?
例如:
my_constructor(int,int,...);
可以有許多整數作爲用戶輸入。
這甚至可能嗎?
如何使動態構造它接受的參數x量,在C++?如何在C++中創建一個動態構造函數,該構造函數需要x個參數?
例如:
my_constructor(int,int,...);
可以有許多整數作爲用戶輸入。
這甚至可能嗎?
如果它們是相同類型的所有參數,只需使用初始化列表。
struct foo
{
foo(std::initializer_list<int> init)
{
....
}
}
你還是會需要但把這些東西加到某種類型的容器,(例如):
struct foo
{
std::vector<int> v;
foo(std::initializer_list<int> init)
: v(init.begin(), init.end())
{ }
};
你在談論它的方式,我不認爲這將是可能的。你將如何將所有這些參數分配給字段?您需要爲對象動態生成不同的字段!我幾乎可以肯定這是不可能的。但是,你可以做的是讓構造器將一個數組作爲它的參數的一部分,你可以用不同數量的「子參數」來填充它。 祝你好運。
我想同樣的事情,但我忘了提及的參數都是相同的數據類型,所以Yuushi的建議似乎解決我的問題。儘管謝謝! – CodeDoctorJL
不同類型,你可以使用可變參數模板,並將其存儲在一個'的std :: tuple'。 – chris
感謝的人,這真的幫助! – CodeDoctorJL