[C/C++]文字列リテラルの連結 |
2014年11月25日22:24:10 |
|
あまり語られているサイトを見たことがないのでご紹介です。
文字列リテラルの連結は簡単に出来て便利です。 |
1
2
3
4
5
6
7
8
9
| #include <cstdio>
int main()
{
printf( "aaa" "bbb\n" );
return 0;
} |
出力
aaabbb |
具体的にどういった場面で便利なのかご紹介します。
パターン1
文字列リテラルが長い場合や一定文字数で意味がある時に分割すると見やすくなります。 |
1
2
3
4
5
6
7
8
9
| char reversi[] =
"........"
"........"
"........"
"...OX..."
"...XO..."
"........"
"........"
"........"; |
パターン2
マクロとの組み合わせ
何かしら固定値がつくマクロを用意しておくと繋げて出力するのが容易になります。 |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| #include <exception>
#include <cstdio>
int main()
{
try
{
throw std::exception( "○○ exception :" __FUNCTION__ );
}
catch( std::exception& e )
{
printf( "%s\n", e.what() );
}
return 0;
} |
|