當在乙個檔案中定義多個相互關聯的類時除了要前置宣告外,一定要放好類的宣告位置和實現位置
否者會出現一下錯誤
forward declaration of 'class strblobptr'|
return type 'class strblobptr' is incomplete|
invalid use of incomplete type 'class strblobptr'|
//正確例項class a與class b相互關聯
class b;/前置/宣告
class a;
class b;
、、、//a實現
、、、//b實現
c++primer中shared_ptr和weak_ptr的應用
模擬vector
#include#include#includeclass strblobptr;
class strblob
void push_back(const std::string &t)
void pop_back();
std::string& front();
const std::string& front()const;
std::string& back();
const std::string& back()const;
strblobptr begin();
strblobptr end();
private:
std::shared_ptr>data;
void check(size_type i,const std::string &msg)const;
};strblob::strblob():data(std::make_shared>()) {}
strblob::strblob(std::initializer_listil):
data(std::make_shared>(il)) {}
void strblob::check(size_type i,const std::string &msg)const
std::string& strblob::front()
const std::string& strblob::front()const
std::string& strblob::back()
const std::string& strblob::back()const
void strblob::pop_back()
//class strblobptr
strblobptr(strblob &a,size_t sz=0):
wptr(a.data),curr(sz){}
std::string& deref()const;
strblobptr& incr();
private:
std::shared_ptr>
check(std::size_t,const std::string&)const;
std::weak_ptr>wptr;
std::size_t curr;
};//
strblobptr strblob::begin()
strblobptr strblob::end()
/std::shared_ptr>
strblobptr::check(std::size_t i,const std::string &msg)const
std::string& strblobptr::deref()const
strblobptr& strblobptr::incr()
int main()
; std::vectorsvec=;
for(const auto s:svec)
b.push_back(s);
/* text1 //111 222 333 444 555 666 丟擲異常
for(auto iter=b.begin();;iter.incr())
std::cout<
Android檔案存放
導師需要我為學校做乙個地圖定位,需要事先將檔案放置於sdcard中,所以在網上找了個例項,以下的 經過測試是可行的,望與後來者共勉。sdcard路徑獲取 string path environment.getexternalstoragedirectory getpath 對於應用攜帶的靜態資料,可...
檔案存放問題
這兩周工作,做了很多事情,但是回想起來覺得也沒做什麼,電腦裡幾個資料夾一堆檔案,有的是上個禮拜改的,有的是反覆修改的,有的甚至都不知道是用來做什麼的了。雖然我有分類,我分成了以前別人做的 之前我做過的 現在我做的,這三個部分。但是,還是會遇到讓我覺得檔案放置太亂的問題,原因就是有時候我竟找不到我腦子...
vector中存放自定義類 ,對類的要求
vector中存放自定義類的前提是 自定義的類必須有預設建構函式。因為vector 會呼叫預設建構函式來初始化元素的物件。那必須要明確 編譯器什麼時候隱式宣告預設建構函式?有兩個條件 該類沒有顯式宣告任何建構函式。既然你都定義了,系統就不給你生成了。資料成員中沒有const 和reference。因...