返回 工具

C++ 線上編譯器

我的工具
暫無工具

首次運行需要下載約 {size} MB 的編譯器,之後會快取複用。

如何線上編譯運行 C++ 代碼

  1. 1

    貼上程式碼或選擇範例

    在編輯器中寫入 C++ 程式碼,或先從預設範例中選擇 Hello World、STL 容器、例外處理等,快速開始。

  2. 2

    選擇 C++ 標準

    運行前在工具列選擇 C++11 到 C++23,用於驗證不同標準下的語法與標準函式庫行為,例如 std::format 需要 C++20。

  3. 3

    點擊運行並查看結果

    首次運行需要在瀏覽器內下載約 29 MB 的 Clang 編譯器,之後會快取複用。運行結果、編譯輸出與錯誤資訊分三個標籤查看。

  4. 4

    需要輸入時直接在輸出區敲

    程式執行到 std::cin 時會停下來等待,輸入位就出現在輸出內容下方,輸入後按 Enter 繼續。

  5. 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 秒。
程式碼與歷史記錄保存在什麼位置
程式碼在瀏覽器本地編譯和執行,不會���傳到伺服器。歷史記錄保存在瀏覽器的本地儲存裡,只有你自己能看到,清除瀏覽器資料會一併清除。