C++11のユーザ定義リテラルを使うと、ユーザ指定のサフィックスに従って型変換や任意の処理を行う事が出来ます。
今日はこれを使って、おっぱいを判定するコードを書いてみました。
#include <iostream>
#include <string>
#define X(x) #x ")"_oppai
#define _(x) "(" #x ")(" X
char const* operator "" _oppai(char const* str, std::size_t len) {
std::string x(str, len);
return
x == "(・)(・)" ? "ハリのあるおっぱい" :
x == "(.)(.)" ? "垂れ気味のおっぱい" :
x == "(◎)(◎)" ? "立体的なおっぱい" :
x == "(○)(○)" ? "乳輪が大きいおっぱい" :
x == "(●)(●)" ? "乳輪が大きく、黒いおっぱい" :
x == "(。)(。)" ? "色が薄く、左向きのおっぱい" :
"もはやおっぱいではない";
}
int
main(int argc, char* argv[]) {
std::cout << _(・)(・) << std::endl; // ハリのあるおっぱい
std::cout << _(.)(.) << std::endl; // 垂れ気味のおっぱい
std::cout << _(◎)(◎) << std::endl; // 立派なおっぱい
std::cout << _(○)(○) << std::endl; // 乳輪が大きいおっぱい
std::cout << _(●)(●) << std::endl; // 乳輪が大きく、黒いおっぱい
std::cout << _(。)(。) << std::endl; // 色が薄く、左向きのおっぱい
return 0;
}
ユーザ定義リテラル便利ですね!