I understand that just to set up an environment for CP, it's not needed. But it's a fact that it is one of the best piece of software out there and it's sophistication makes you learn how great softwares are built. I use Doom Emacs for this, you can add the below snippet in config.el, then compile and run your code by SPC-e-c
(map! :leader
(:prefix ("e" . "execute")
:desc "C/C++"
"c" #'compileandrun))
(defun compileandrun()
(interactive)
(let* ((src (file-name-nondirectory (buffer-file-name)))
(exe (file-name-sans-extension src)))
(compile (concat "g++ " src " -o " exe " && timeout 1s ./" exe ))))