下载gcc最新版
然后解压到文件夹
cd /home/machen/cpp/gcc-4.8.1
./contrib/download_prerequisites
cd ..
mkdir build_gcc_4.8.1
cd build_gcc_4.8.1
../gcc-4.8.1/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib  
make -j23
make install

OK,已经安装完成
确定新安装的GCC的路径,之前安装时记下最后mv时的路径即可,我是默认安在了/usr/local/bin
ls /usr/local/bin | grep gcc

wKiom1LnyHCiZRo_AAJTr7qWpPE641.jpg

/usr/sbin/update-alternatives --install  /usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc-4.8.1 40
gcc --version查看版本

/usr/sbin/update-alternatives --install /usr/bin/g++ g++ /usr/local/bin/g++ 40
g++ --version 查看版本
版本如果不对可以退出登录,重新进入下即可。

测试一下c++ 11的新功能:
#include <array>
#include <iostream>
using namespace std;
int main()
{
   std::array<int, 3> arr = {2, 3, 5};
   for(auto& s : arr){
       cout << s << endl;
   }  
}
编译:
g++ test_11.c  -std=gnu++0x或g++ test_11.c  -std=c++0x
./a.out
输出:
2
3
5