C++ 線上編譯器
我的工具
暫無工具
我的工具
暫無工具
首次運行需要下載約 {size} MB 的編譯器,之後會快取複用。
如何線上編譯運行 C++ 代碼
- 1
貼上程式碼或選擇範例
在編輯器中寫入 C++ 程式碼,或先從預設範例中選擇 Hello World、STL 容器、例外處理等,快速開始。
- 2
選擇 C++ 標準
運行前在工具列選擇 C++11 到 C++23,用於驗證不同標準下的語法與標準函式庫行為,例如 std::format 需要 C++20。
- 3
點擊運行並查看結果
首次運行需要在瀏覽器內下載約 29 MB 的 Clang 編譯器,之後會快取複用。運行結果、編譯輸出與錯誤資訊分三個標籤查看。
- 4
需要輸入時直接在輸出區敲
程式執行到 std::cin 時會停下來等待,輸入位就出現在輸出內容下方,輸入後按 Enter 繼續。
- 5
複製結果或分享代碼
可複製代碼與運行結果,從本地歷史記錄恢��此前的版本,或生成帶代碼的分享連結發給他人。
功能概覽
C++ 線上編譯器,用真正的 Clang 在瀏覽器裡編譯並運行 C++ 代碼,無需安裝 GCC、MSVC 或任何 IDE。支持 C++11 到 C++23 標準切換,適合驗證語法、刷算法題和教學演示。
工具描述
C++ 線上編譯器:用真正的 Clang 在瀏覽器裡編譯並執行 C++ 程式碼,無需安裝 GCC、MSVC 或任何 IDE。支援 C++11、C++14、C++17、C++20、C++23 標準切換,完整的 STL、例外處理(try/catch)、智能指標、std::format 與 ranges 都能用,std::cin 可互動輸入。編譯輸出、執行結果與錯誤訊息分三個標籤檢視,並提供本機歷史記錄與程式碼分享連結。編譯和執行全部在瀏覽器本機完成,程式碼不上傳伺服器,也不排隊等後端。
最近更新
能力清單
- 在 C++11、C++14、C++17、C++20、C++23 之間切換,用同一段程式碼對照不同標準下的行為。
- 完整的標準函式庫:STL 容器與演算法、智能指標、std::string、iostream、fstream、chrono、random 都能直接用。
- 例外處理可用:try/catch、throw、std::stoi 與 vector::at 拋出的標準例外都能正常捕獲。
- C++20 的 std::format 與 ranges、C++23 的新特性都已驗證可用。
- std::cin 支援互動式輸入,程式停下來等你輸入時可以直接在輸出區繼續敲。
- 編譯輸出、運行結果與錯誤資訊分三個標籤查看,Clang 的診斷保留原始格式,帶行列指示與修復建議。
- 編譯與執行全部在瀏覽器本地完成,程式碼不上傳伺服器,也不排隊等後端。
- 本地歷史記錄與程式碼分享連結,換台裝置也能打開同一段程式碼。
使用者回饋
前往回饋
使用者回饋
相關工具
相關指南
常見問題
這個工具用什麼方式在瀏覽器裡編譯運行 C++?
編譯器是編譯成 WebAssembly 的 Clang 與 LLD,配合 WASI 標準庫在瀏覽器裡運行。你的代碼會被真正編譯成 WebAssembly 二進制再執行,不是解釋器也不是語法子集,所以標準庫行為與本地編譯一致。
這個工具支持哪些 C++ 標準
支持 C++11、C++14、C++17、C++20 和 C++23,在工具欄直接切換。C++20 的 std::format 與 ranges、C++23 的新特性都已實測可用。
異常處理與標準庫的支持範圍
try/catch、throw 與標準庫拋出的異常都能正常工作,包括 std::stoi 的 invalid_argument 與 vector::at 的 out_of_range。STL 容器與算法、智能指針、iostream、fstream、chrono、random 均可直接使用。
這個工具當前不支持的能力
不支持多線程:std::thread、std::async 與 pthread 都用不了,因為 WASI 運行時沒有線程支持。也不支持網絡請求、調用系統命令,以及需要操作系統特定 API 的代碼。
首次運行的等待時間與後續運行速度
首次運行要下載約 29 MB 的編譯器,寬帶下約 5 秒,4G 下約 10 到 35 秒。之後編譯器會被瀏覽器快取,再次運行只剩編譯本身的耗時,通常在 1 到 3 秒。
程式碼與歷史記錄保存在什麼位置
程式碼在瀏覽器本地編譯和執行,不會���傳到伺服器。歷史記錄保存在瀏覽器的本地儲存裡,只有你自己能看到,清除瀏覽器資料會一併清除。