戯れに
CはなんかもういいのでC++でquine書いてみた。
長いので文字列を分割しているが、そこを一本にすれば全く同じコードを吐く。あとめんどいから文字列置換はboost.string_algoを使ってる。boost.formatとかprintf使うのはなんか面白みがないのでやめた。#include <iostream>
#include <string>
#include <boost/algorithm/string/replace.hpp>int main() {
using std::string;
using namespace boost::algorithm;string str("N#include <iostream>N#include <string>N#include <boost/algorithm/string/replace.hpp>NN"
"int main() {N using std::string;N using namespace boost::algorithm;NN string str(QSQ);N"
" string str2 = replace_all_copy(str, string() + static_cast<char>(78), string() + static_cast<char>(10));N"
" replace_all(str2, string() + static_cast<char>(81), string() + static_cast<char>(34));N"
" std::cout << replace_all_copy(str2, string() + static_cast<char>(83), str) << std::endl;N}");
string str2 = replace_all_copy(str, string() + static_cast<char>(78), string() + static_cast<char>(10));
replace_all(str2, string() + static_cast<char>(81), string() + static_cast<char>(34));
std::cout << replace_all_copy(str2, string() + static_cast<char>(83), str) << std::endl;
}