一開始學C++的時候老師推薦的就是Dev C++這個IDE,用起來感覺還不錯,使用起來比較簡單,而且屬於比較輕量級的,不怎么占用內存;缺點可能就是調試功能沒有項VS那種大型IDE齊全和好用,不過對於一個新手來說絕對足夠了。
最近在一些工程中需要用到智能指針的庫,比如說auto_ptr以及boost里面的share_ptr、unique_ptr等。單獨只使用auto_ptr時不會出現錯誤,但是當用到share_ptr或者是unique_ptr時編譯總是不能通過:
原因就是“當前域內找不到shared_ptr的聲明”,且上述錯誤是在引入<memory>也會發生的。上網查了一下,原來Dev C++默認是不支持c++11新標准的,而shared_ptr和unique_ptr是c++11新標准,而auto_ptr屬於c++98標准(Dev默認支持,現在廢棄使用auto_ptr)。
解決方案也很簡單,在菜單欄點開Tools -> Compile Options
加上圈住的編譯指令即可讓編譯器支持c++11的標准。