Это невозможно в стандарте C ++. Стандарт C ++ не имеет понятия программы s . В отношении языка существует только одна программа - та, которая переводится в данный момент.
За пределами стандарта C ++ существуют многозадачные операционные системы, в которых можно запускать несколько программ. процессы одновременно (вы, вероятно, используете один прямо сейчас). Такие операционные системы используют виртуальную память, и один процесс не может напрямую обращаться к виртуальной памяти другого процесса.
Это технически возможно, хотя, например, используется системный вызов process_vm_readv
(Linux Speci c), если вы иметь достаточные разрешения. Прежде чем использовать такой трюк, вы должны каким-то образом сообщить идентификатор процесса и виртуальный адрес, который вы хотите прочитать, которые не известны до запуска первой программы.
Хотя это может быть возможно, это, вероятно, не то, что вы нужно сделать, если вы не реализуете отладчик или похожий инструмент, возможно. Если вы хотите этого просто для того, чтобы процессы могли взаимодействовать, есть и другие способы. Нет C ++ - стандартные способы, потому что C ++ не знает процессов, но, например, стандарт POSIX определяет много способов взаимодействия процессов: общая память, файлы, сетевые сокеты и т. Д. c.