C++ 自定义类的成员变量在类中的赋值有关问题

C++ 自定义类的成员变量在类中的赋值问题
C++ 一般不允许在类的内部对成员变量直接赋值,除非是静态整型常量。但是下边的代码是可以通过VS2013编译且正确输出的,求解释:

class Test
{
public:
Test();
~Test();
public:
const double PI = 3.14;  不是需要在成员变量列表中赋值么?
int b = (int)this->PI;    //不是不允许这么赋值么?
private:
int a = 1;  //?
};

------解决思路----------------------
这个 C++11 新加入的语法。

VS2013 已经实现了一部分 C++11 的新特征。
------解决思路----------------------
C++11标准里面是可以的