c++類模板中靜態成員變量的聲明定義
睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接
我們知道,c++中,類的靜態成員是要在.cpp文件中定義的,如果在.h中定義,會出現重復定義。
但是在寫類模板時,一般所有的代碼都是放在.h文件中的,如果要做分離是一件很麻煩的事。那如果出現了靜態成員怎么辦?
如:
// ==== ca.h =====
template<class T>
class ca
{
public:
static std::vector<T> m_vec;
};
對于這個m_vec怎么辦呢?難道要我們在每個使用該類模板的.cpp中,都手動增加一個定義嗎?
不用那么麻煩。就在ca.h中,加上一條
// ===== ca.h =====
template<class T>
std::vector<T> ca<T>::m_vec;
這樣,就可以對所有的類型自動定義該靜態變量啦
RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成