C++オンラインコンパイラ

ブラウザでCLI風の環境を使用し、C++コードをインスタントにコンパイル&テスト。セットアップ不要で学習やデバッグに最適!

🚀 1,636,463 合計実行 (71,946 今月)

Udemy Logo 📚 今すぐ始めたい人気のC++コース

Loading...

💻 このC++オンライン実行ツールについて

CodeUtility C++ Executor を使えば、ブラウザ上で直接C++コードを書いて実行できます — インストールやコンパイラ設定は一切不要です。安全なサンドボックスで動作し、 C++11C++14C++17から最新バージョンまでの実際のC++標準に対応しています。

このツールはクラウド上で動作する本物のC++コンパイラでコードをコンパイル・実行し、 バージョン間で正確かつ一貫した挙動を保証します。変数、関数、ループ、条件分岐、 オブジェクト指向といったC++の基本概念を自由に試せます。

面接の準備、モダンC++の学習、アルゴリズムのロジック検証など、どんな用途でも、 CodeUtility C++ Executor は、どのデバイスからでもすぐにコードを実行できるシンプルかつ強力な環境を提供します。

⚙️ このツールの使い方

  • 1. エディタ上部のドロップダウンからC++のバージョン(C++11C++14C++17、または最新)を選択します。
  • 2. エディタ領域にC++コードを入力または貼り付けます。
  • 3. 実行 をクリックしてコードを実行し、下のコンソールに出力を表示します。
  • 4. 実行中は 停止 ボタンが表示されます。クリックすると早めに実行を止められます。
  • 5. コード修正 を使うと、軽微なフォーマットや文法の問題を自動で修正します。
  • 6. 修正後は 修正履歴 ボタンが表示されます。クリックして最近の修正を確認できます。
  • 7. アップロード ボタンでローカルファイルからコードを取り込み、 ダウンロード ボタンでエディタ内のコードを保存します。
  • 8. 各実行は最大20秒間実行され、その後自動的に終了します。

🧠 ヒント: この環境はブラウザ内で安全に本物のC++コードを実行します — ログインやセットアップは不要です。

💡 上で試せるC++の基本とサンプル

1. 変数と定数の宣言

C++では、各変数の型を宣言する必要があります。constを使うと、初期化後に変更できない読み取り専用の値を定義できます。

int age = 30;
double pi = 3.14159;
char grade = 'A';
std::string name = "Alice";
bool isActive = true;

// 定数
const int MAX_USERS = 100;
const std::string COMPANY = "CodeUtility";

// const を変更しようとするとコンパイル時エラーになります
// MAX_USERS = 200; // ❌ エラー

2. 条件分岐(if / switch)

分岐にはifelse ifelseを使います。複数の値を扱う場合はswitchを使います。

int x = 2;
if (x == 1) {
    std::cout << "1\n";
} else if (x == 2) {
    std::cout << "2\n";
} else {
    std::cout << "その他\n";
}

// switch文
switch (x) {
    case 1:
        std::cout << "1\n";
        break;
    case 2:
        std::cout << "2\n";
        break;
    default:
        std::cout << "その他\n";
}

3. ループ

forwhiledo-whileでコードブロックを繰り返します。

for (int i = 0; i < 3; i++) {
    std::cout << i << "\n";
}

int n = 3;
while (n > 0) {
    std::cout << n << "\n";
    n--;
}

4. 配列

配列は同じ型の要素を複数格納します。

int numbers[3] = {10, 20, 30};
std::cout << numbers[1] << "\n";

5. 配列/ベクターの操作

動的配列にはstd::vectorを使います。

#include <vector>

std::vector nums = {1, 2, 3};
nums.push_back(4);
nums.pop_back();

for (int n : nums) {
    std::cout << n << " ";
}

6. コンソール入出力

入力にはstd::cin、出力にはstd::coutを使います。

std::string name;
std::cout << "あなたの名前を入力してください: ";
std::cin >> name;
std::cout << "こんにちは、" << name << "\n";

7. 関数

関数は再利用可能な処理をまとめます。引数と戻り値の型を指定します。

int add(int a, int b) {
    return a + b;
}

std::cout << add(3, 4);

8. マップ

std::map は辞書のようにキーと値のペアを格納します。

#include <map>

std::map ages;
ages["Alice"] = 30;
std::cout << ages["Alice"];

9. 例外処理

trycatch を使って実行時エラーを処理します。

try {
    throw std::runtime_error("エラーが発生しました");
} catch (const std::exception& e) {
    std::cout << e.what();
}

10. ファイル入出力

fstream を使ってファイルの読み書きを行います。

#include <fstream>

std::ofstream out("file.txt");
out << "こんにちは、ファイル";
out.close();

std::ifstream in("file.txt");
std::string line;
getline(in, line);
std::cout << line;
in.close();

11. 文字列操作

C++の文字列は length()substr()find() といったメソッドをサポートしています。

std::string text = "Hello World";
std::cout << text.length();
std::cout << text.substr(0, 5);
std::cout << text.find("World");

12. クラスとオブジェクト

C++はクラスを使ったオブジェクト指向プログラミングをサポートしています。

class Person {
  public:
    std::string name;
    Person(std::string n) : name(n) {}
    void greet() { std::cout << "こんにちは、私は " << name; }
};

Person p("Alice");
p.greet();

13. ポインタ

ポインタは別の変数のメモリアドレスを保持します。アドレスを取得するには &、 参照外し(そのアドレスの値にアクセス)には * を使います。

int x = 10;
int* ptr = &x;

std::cout << "x の値: " << x << "\n";
std::cout << "x のアドレス: " << ptr << "\n";
std::cout << "ポインタ経由の値: " << *ptr << "\n";

// ポインタ経由で x を変更
*ptr = 20;
std::cout << "更新後の x: " << x << "\n";