4
對於某些類型的T
,請考慮std::vector<T>
。我收到一個指向這種類型的指針到一個函數中,還有一個T
的實例; t
說。將矢量分配給單個元素
我的功能看起來是這樣的:
void bar(std::vector<T>* foo, const T& t)
{
foo->clear();
foo->push_back(t);
}
有沒有辦法我寫的函數體中的一個聲明?由於不存在適當的賦值運算符,因此*foo = t;
不起作用。我也想用
foo->assign(&t, &t + 1);
但這似乎是淘氣。
我正在使用C++ 11。
這是超級酷。謝謝! –
分配版本可能會更好,它可能會重用先前向量的內存,而不是重新分配一個tho。 – galop1n
僅供參考,'= {t}'語法僅適用於C++ 11及更高版本。對於較早的版本,可以使用'* foo = vector(1,t);'而不是'foo-> assign(1,t)'更好。 –