コンパイラは新しい方が気持ちが良いものです。Ubuntu 16.04にバージョン9系のgccをインストールします。対象言語はcとc++です。作業は全てrootで行います。
リポジトリ
Toolchain test buildsのPPAリポジトリを使えるようにします。
# add-apt-repository ppa:ubuntu-toolchain-r/test
# apt-get update
gcc/g++
以下を実行します。g++を指定しますが、gccも入るので問題ありません。
# apt-get install g++-9-multilib
##デフォルトコンパイラ設定
これまでの作業でgcc-9/g++-9コマンドでバージョン9系のgccが使えますが、-9とか打ちたくないです。 update-alternativesで普段使いのコンパイラを9系にします。30はauto modeでのプライオリティで大きいほど優先されます。私の環境にはgccの5系と7系が既にインストールされ、それぞれプライオリティが10,20なので30を指定しました。
# update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 30
# update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 30
# update-alternatives --display gcc
gcc - auto mode
link best version is /usr/bin/gcc-9
link currently points to /usr/bin/gcc-9
link gcc is /usr/bin/gcc
/usr/bin/gcc-5 - priority 10
/usr/bin/gcc-7 - priority 20
/usr/bin/gcc-9 - priority 30
# update-alternatives --display g++
g++ - auto mode
link best version is /usr/bin/g++-9
link currently points to /usr/bin/g++-9
link g++ is /usr/bin/g++
/usr/bin/g++-5 - priority 10
/usr/bin/g++-7 - priority 20
/usr/bin/g++-9 - priority 30