using defString = std::string;
class Base;
class Child;
class Base : public std::function<Base(defString)>
{
protected:
using std::function<Base(defString)>::function;
};
class Child : public Base { using Base::Base; };
Base print(defString str)
{
std::cout << str;
return Child([](defString str) -> Base
{
return print(str);
}
);
}
원리는 무엇이었는지 기억나지 않는다.
워낙 옛날에 작성했다. (2년 즈음 전 정도)
그 사이에 코딩을 잠깐 접었다.
너무나도 철학적인 나의 탐구스타일에 스스로 지쳤기도 했고 편입공부하느라 바빴다.
그래서 지금 보면 못알아본다. 계속했으면 알아봤을텐데 ㅋㅋ
복잡해서 알고싶지 않다.
잡설이 너무나도 길었다.
int main()
{
print
("hello")
("my world")
("hello");
}
다음은 예시코드
'프로그램 > 새롭게 발견한 c++ 패턴' 카테고리의 다른 글
이런 방법이? (3) | 2025.07.25 |
---|---|
이동가능한 guard (0) | 2025.07.22 |
버그1 (0) | 2025.07.22 |
std::pair에 operator[]()을 추가해보자 (0) | 2025.07.20 |
1 (0) | 2025.07.09 |