C++

出自ProgWiki
跳至導覽 跳至搜尋

C++

C++標準

年份 C++標準 俗稱 參照
1998 ISO/IEC 14882:1998 C++98 參照:『維基百科~C++98
2003 ISO/IEC 14882:2003 C++03 參照:『維基百科~C++03
2007 ISO/IEC TR 19768:2007 C++TR1 參照:『維基百科~C++_TR1
2011 ISO/IEC 14882:2011 C++11, C++0x 參照:『維基百科~C++11
2014 ISO/IEC 14882:2014 C++14, C++1y 參照:『維基百科~C++14
2017 ISO/IEC 14882:2017 C++17, C++1z 參照:『維基百科~C++17
2020 ISO/IEC 14882:2020 C++20, C++2a 參照:『維基百科~C++20
未來 C++23 參照:『維基百科~C++23

IDE

主條目:IDE#C++

技術文件

VC++
其他
An Idiot's Guide to C++ Templates
  1. Part 1
  2. Part 2

OpenSource

應用

Template

Component

Image

Network

Skin

SQL

Threads

主條目:多執行緒#C++

Web browser

XML

主條目:XML#C++

ZipFile

繁簡轉譯

Debug

  • x64dbg
  • ControlFlag是Bug偵測工具,運用自我監督機器學習技術,能夠準確偵測程式碼中存在的缺陷,加快程式開發除錯工作,

其他

跨語言整合

  • 與C
  • 與Java
  • 與Lua
主條目:Lua
  • 與JavaScript
  • 其它的JavaScript Engine

FAQ

關於sizeof

  • char時是1,int時是4,long時是8,float時是4,double時是8
  • 沒有指明長度的陣列,char時是實際字串長度加1,int時是實際陣列長度乘4,依此類推
  • 對指標而言,32位元是4,64位元是8

關於fstream的ios::nocreate與filebuf::sh_read

  • ios::nocreate與filebuf::sh_read 已自std命名空間中移除。VC++ 2003以後已不再支援。

同名函數的靜態Link問題

動態數量的函數參數

用__cplusplus判斷C++編譯器

  • C++ pre-C++98: __cplusplus is 1.
  • C++98: __cplusplus is 199711L.
  • C++98 + TR1: This reads as C++98 and there is no way to check that I know of.
  • C++11: __cplusplus is 201103L.
  • C++14: __cplusplus is 201402L.
  • C++17: __cplusplus is 201703L.

VC++建置錯誤代碼

  • C/C++ 建置錯誤
  • 關閉特定的建置錯誤提示用(以C4996建置錯誤為例) #pragma warning(disable : 4996)
  • 啟用特定的建置錯誤提示用(以C4996建置錯誤為例) #pragma warning(default:4996)

VC++關閉部分程式碼的編譯器去做最佳化

#pragma optimize("", off)
// some code here 
#pragma optimize("", on)

以新版VC++開發MFC應用程式,exe檔變大的問題

MFC/ATL/WTL的視窗應用程式隨顯示設定自動調整對話框