[C++11] 원시 문자열 리터럴(Raw String Literals) 사용 방법 참고

3831 단어 C++C++11
원시 문자열 리터럴 (Raw String Literals) 사용법 메모

코드 보는 편이 빠르다고 생각하므로 샘플 코드 싣습니다. (Qiita의 신택스 하이라이트 대응하고 있지 않네요・・・)

test_raw_literals.cpp
#include <cstdio>

static const char* raw_string_literals1 = R"(hoge)";
static const char* raw_string_literals2 = R"("foo", "bar")";
static const char* raw_string_literals3 = R"({
    "object" : {
        "foo" : 1,
        "bar" : "hoge"
    }
})";
static const char* raw_string_literals4 = R"*("(cdr '(1 2 3 4))" => "(2 3 4)")*";

int main(int argc, char const* argv[])
{
    puts("case 1: 通常ケース");
    puts(raw_string_literals1);
    puts("case 2: ダブルコーテーションを含むケース");
    puts(raw_string_literals2);
    puts("case 3: 改行を含むケース");
    puts(raw_string_literals3);
    puts("case 4: 丸括弧とダブルコーテーションが隣接する文字があるケース");
    puts(raw_string_literals4);
    return 0;
}

빌드 및 실행 예
$ g++ -std=c++11 test_raw_literals.cpp && ./a.out
case 1: 通常ケース
hoge
case 2: ダブルコーテーションを含むケース
"foo", "bar"
case 3: 改行を含むケース
{
    "object" : {
        "foo" : 1,
        "bar" : "hoge"
    }
}
case 4: 丸括弧とダブルコーテーションが隣接する文字があるケース
"(cdr '(1 2 3 4))" => "(2 3 4)"

신택스 하이라이트가 알기 어려우므로 Vim에서의 캡쳐도 실립니다.



참고



원시 문자열 리터럴 - cpprefjp C++ 한국어 참조

좋은 웹페이지 즐겨찾기