C++ チートシート

 標準出力

// helloと改行を出力するプログラム
int main()
{
    std::cout << "hello"s;
}
int main()
{
    std::cout << "aaa"s << "bbb"s << "ccc"s;
}

出力結果はaaabbbccc

文字列の結合

int main()
{
    std::cout << "hello"s + "world"s;
}

出力結果はhelloworld

標準入力

int main()
{
    // 入力を受け取るための変数
    std::string x{} ;
    // 変数に入力を受け取る
    std::cin >> x ;
    // 入力された値を出力
    std::cout << x ;
}
int main()
{
    std::string x{} ;
    std::string y{} ;
    std::cin >>  x >> y ;
    std::cout << x << y ;
}

変数

int main()
{
    // 整数の変数
    auto answer = 42 ;
    std::cout << answer << "\n"s ;
    // 浮動小数点数の変数
    auto pi = 3.14 ;
    std::cout << pi << "\n"s ;

    // 文字列の変数
    auto question = "Life, The Universe, and Everything."s ;
    std::cout << question ;
}

変数の最初の値は、= 値の代わりに(値)や{値}と書いてもよい。

int main()
{
    auto a = 1 ;
    auto b(2) ;
    auto c{3} ;
}

関数

ラムダ式

int main()
{
    // 関数
    auto print = [](auto x)
    {
        std::cout << x << "\n"s ;
    } ;

    // 関数呼び出し
    print(123) ;
    print(3.14) ;
    print("hello") ;
}

出力結果は次のようになる。

123
3.14
hello

引数が複数の場合

int main()
{
    auto print_two = []( auto x, auto y )
    {
        std::cout << x << " "s << y << "\n"s ;
    } ;

    print_two( 1, 2 ) ;
    print_two( "Pi is", 3.14 ) ;
}

出力結果は次のように定義する。

1 2
Pi is 3.14

引数を持たない場合は次のようになる。

int main()
{
    auto no_args = []()
    {
        std::cout << "Nothing.\n" ;
    } ;

    no_args() ;
}