Пишем внутреннее «Я» на C++
Недавно объяснял человеку умные указатели в C++. И тут до меня дошло, что циклические ссылки очень похожи на дуалистическое восприятие) Поймут не только лишь все.
#include <iostream>
#include <memory>
class iHuman {
public:
std::shared_ptr<iMan> i;
iHuman() { std::cout << "iHuman\n"; }
~iHuman() { std::cout << "~iHuman\n"; }
};
void make_dualism() {
std::shared_ptr<iHuman> human = std::make_shared<iHuman>();
human->i = human;
}
int main() {
make_dualism();
return 0;
}
А если серьезно, то сама по себе идея «внутреннего Я» содержит просто тонны противоречий. Как говорится — окружен, но не сломлен.
К примеру, у человека до рождения не было родителей, тела, имени. Но если можно так сказать, то значит «что‑то» до рождения было, и оно затем присвоит себе тело, имя, родителей. Этот парадокс решается через то, что этого «Я» просто не рождалось изначально. Это просто миф, и поэтому самого понятия «моё» не существует.
Или вот например есть парадокс Рассела, который говорит нам о том, что множество не может содержать само себя. Однако, нам ничто не мешает ощущать, что внутри нас есть некий «Я» сам. Этот парадокс решается через то, что это ощущение «себя» и реальный человек — не одно и то же.
Примеров парадоксов очень много. Правда, через рациональное понимание из иллюзии дуализма увы — не выйти. Все дело в эмоциях: страх реальности, страх физической боли и прочий дискомфорт заставляют нас разделять себя на «Я» и «Не Я». Это защита.