C++ Here
新世代的
線上 C++ 編譯器。
一個開源、輕量但強大的線上 C++ 編譯器,專為競賽程式設計而生
// 功能
功能齊全。
卻不臃腫。
瀏覽器,就是你的開發環境。
WebAssembly 技術
將 C++ 程式碼編譯為 WebAssembly,並直接在瀏覽器中執行 —— 快速,且沒有資源限制。
錯誤高亮提示
解析編譯器錯誤並標示在發生錯誤的確切行數 —— 清楚、可立即處理的診斷訊息,沒有多餘雜訊。
內建測資系統
定義、執行並並排比較多筆測資。依照競賽選手真正的工作方式而設計。
自動程式碼格式化
整合 Clang-format。一個快捷鍵就能保持一致的程式碼風格 —— 並支援多種風格預設。
多語言支援
完整支援英文與繁體中文,更多語言即將推出。歡迎到 Crowdin 協助翻譯!
程式碼補全
針對 STL 容器與演算法提供情境感知的建議 —— 更快地寫 C++,不打斷思緒。
任何螢幕,任何裝置
介面能無縫適應各種螢幕尺寸。在任何螢幕、任何裝置上都能使用,隨時隨地舒適地寫程式。
安全,從設計開始
Cloudflare Turnstile 阻擋機器人。每次編譯都在隔離、一次性的 Docker 容器中執行 —— 預設即安全。
一鍵分享
只要一個連結,就能分享你的程式碼、測資、輸入與結果 —— 即時完成,無需任何設定。
開源、免費
審查它、Fork 它、發布它。MIT 授權。
// 瀏覽器擴充
一鍵匯入。
所有測資。
不再複製貼上
透過我們的擴充功能,直接從瀏覽器匯入測資。支援超過 100 個競賽程式平台。
// 數據
真實數據。
真實使用。
4.7K+
總編譯次數
168.7K+
編譯總行數
540.2 MB+
總編譯大小
2.1 hrs+
編譯總時長
// 常見問題
有疑問嗎?
這裡有解答。
是的。C++ Here 完全免費,沒有廣告、沒有付費方案,也沒有功能限制。完整原始碼以 MIT 授權公開在 GitHub 上。
不需要。不用下載任何東西,也不用註冊或登入。用任何現代瀏覽器打開編輯器,就能馬上開始寫 C++。
你可以在編輯器的版本選單中選擇 C++98、C++14、C++17、C++20 或 C++23,預設為 C++17。
可以。雖然 Clang 原本不提供 bits/stdc++.h,在 C++ Here 上一樣能用。它已針對每個 C++ 版本預先編譯,所以開頭寫 #include <bits/stdc++.h> 的程式,編譯速度會快 2 到 3 倍。
把輸入內容填進測資即可。cin、scanf、getline 等標準輸入函式會從測資讀取,就跟在線上評測系統(Online Judge)上從 stdin 讀取一樣。你可以新增任意數量的測資,並一次全部運行。
適合,它就是為此而設計的。多筆測資、可調整的時間限制、bits/stdc++.h 支援,以及一個快捷鍵就能格式化,都符合你在 Codeforces、AtCoder、CSES 等線上評測系統解題的習慣,而且不用在本機設定 IDE。
每次運行預設有 10 秒的時間限制,可以在設定中調整或關閉。程式最多可使用 512 MB 記憶體(其中堆疊 8 MB),輸出上限為 32 MB。編譯本身超過 30 秒會逾時。
可以。編輯器會自動適應各種螢幕尺寸,你可以在 iPhone、iPad、Android 手機、Chromebook,或任何有現代瀏覽器的裝置上撰寫和運行 C++。
會。你的程式碼、測資和設定會自動儲存在瀏覽器的本機儲存空間,下次回來時都還在。不過這些資料只存在這台裝置的這個瀏覽器上,重要的程式碼請另外備份。
可以。點選「分享」就會產生一個連結,內容包含你的程式碼、測資、輸入和輸出。任何人打開連結,看到的都會跟你看到的一模一樣,很適合用來求助或講解解法。
打開編輯器,撰寫或貼上程式碼,在測資中填入輸入,然後按 Ctrl + Enter(macOS 為 ⌘ + Enter)。程式碼會被編譯成 WebAssembly,幾秒內輸出就會顯示在測資旁邊。
瀏覽器擴充功能即將推出,只要一鍵,就能從 Codeforces、AtCoder、CSES 等超過 100 個競賽程式平台匯入範例測資。
大多數線上編譯器會在共用的伺服器上執行你的程式,你得排隊等待。C++ Here 只在伺服器上編譯,再於你自己的裝置上執行 WebAssembly 程式,所以執行速度不受伺服器負載影響。最近的編譯結果也會被快取,再次運行相同的程式碼時會跳過編譯。
安全。編譯在隔離、一次性且無法連網的 Docker 容器中進行,之後程式在瀏覽器的 WebAssembly 沙盒中執行,無法存取你的檔案或系統。Cloudflare Turnstile 則負責阻擋機器人。
按 Shift + Alt + F(macOS 為 Shift + Option + F)即可用 clang-format 格式化程式碼。你可以在設定中選擇 LLVM、Google、Chromium、Mozilla、WebKit、Microsoft 或 GNU 格式化風格,並調整 Tab 寬度。
C++ Here 使用 Emscripten 編譯你的程式碼。Emscripten 以 Clang 和 LLVM 為基礎,並使用 libc++ 標準函式庫,編譯結果是在瀏覽器中執行的 WebAssembly 程式。
C++ Here 目前支援英文和繁體中文,更多語言即將推出。任何人都可以到 Crowdin 協助翻譯。
C++ Here 是一個免費、開源的線上 C++ 編譯器與編輯器,專為競賽程式設計打造。你可以在瀏覽器中撰寫 C++、編譯成 WebAssembly,並用自己的測資運行,同時內建錯誤高亮、程式碼格式化和自動補全。