А скопировать метод вполне можно, если архитектура машины
Фон Неймоновская (для большинства современных это ещё так).
...
А куда его копировать? Страницы, в которых лежит код, приложению для записи недоступны. А страницы с данными во всех современных операционках недоступны для выполнения. Да и за чтение из страниц кода операционка может по рукам надавать
Это уже отход от классической архитектуры.
А зачем это делать - вопроса не было. Был вопрос можно ли и как, если можно.
На вопрос можно ли - ответ - нет, если использовать только средства языка С/С++.
Но скорее всего можно, если знаешь архитектуру, ОС, компилятор+линкер.
Вопрос зачем опять же зависит от задачи.
Например пакеры и многие защитки в винде построены на возможности копировать код (распоковка/расшифровка по требованию).
В сущности они подменяют стандартный загрузчик ОС. Вроде бы это можно сделать в linux штатными методами, но даже при наличии штатных методов для реализации загрузчика нужно уметь заполнить некоторую область памяти инструкциями и отметить её выполняемой...
Другой пример - в основе оконной библиотеки
OWL лежала возможность выполнять код из кучи - для каждого экземрляра окна создавался небольшой переходник который регистрировался как оконная функция WinApi.
Если не ошибаюсь, то же делается и в
VCL,
WTL,
MFC.
Хотя две последние детально не ковырял, он это один из самых быстрых способов использовать оконное WinApi в объектных библиотеках.
Так что причины могут быть. Но чисто средствами С/С++ это не решается.