Posted on 2010-06-10 08:48
亂78糟 閱讀(2871)
評論(3) 編輯 收藏 引用 所屬分類:
C語言派系
近日托安裝雪豹的“福”,格了XP裝了win7,前段時間看了C++0X標準以及VS2010誘人的新特性,不禁心癢癢在線安裝了VS2010,然后手寫了這個列子用來測試新增的特性。
struct _SUT
{
int _a;
char _c;
};
int _tmain(int argc, _TCHAR* argv[])
{
//auto關鍵字
auto i = 0.0f;
cout << typeid(i).name() << " i = " << i <<endl;
//靜態編譯斷言
static_assert(sizeof(i) == 4, "sizeof(i) != 4");
vector<int> v;
for (int i = 0; i < 10; i++)
v.push_back(i);
//decltype關鍵字 & 空指針常量
decltype(i) b = 1;
decltype(b) *p = nullptr;
p = &b;
//lambda表達式
for_each(v.begin(), v.end(), [&i, p](int n)
{
i += n;
(*p)++;
});
cout << "i=" << i << "\t" << "b=" << b << endl;
//右值引用
_SUT lVal = { 1, 'c'};
_SUT &&rVal = move(lVal);
cout << "rVal._a = " << rVal._a << endl;
return 0;
}
PS:VS2010好用看得見,可惜只支持C++0X中的若干條新增特性,這就是現實(編譯器廠商因為某種理由拒絕標準)與理想(語言標準)的差距啊。