欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

c++11新增细节

时间:2023-06-03


    //1、初始化
    int a=0;
    int b(6);
    int c{ 7 };
    int d{ (int)8.2 };
    cout << a << endl;cout << b << endl;
    cout << c << endl; cout << d << endl;


    //2、指针置空
    int *p1 = NULL;
    int *p2 = nullptr;


    //3、自动类型
    int num =0;
    auto ch = 'A';//auto会自动提供值自动匹配类型
    int arr[10] = { 0 };
    auto parr = &arr;//int (*)[10]
    int(*pa)[10] = &arr;


    //4、decltype
    int n1 = 0;
    decltype(n1)n2;//根据n1类型定义一个相同类型的标量n2
    decltype(n1)m=n1;//给n1取别名,为m


    //5、for
    string str = "abc123";
    for (size_t i = 0; i < str.size(); i++)
    {
        cout << str[i] << " ";
    }
    cout << endl;

    //序列for循环,又名范围for,实际是使用迭代器输出
    //i从头开始向后取,str集合里是什么类型,i就是什么类型
    for (auto i : str)
    {
        cout << i << endl;
    }


//6、类型别名
typedef int I;
using  II=int;

typedef void(*Pfunc1)();
using pfunc2 = int(*)(float);

//7、default在类中的应用
class A
{
public:
    A();
};
A::A() = default;//使用了默认构造
//final禁止虚函数重写,以及禁止类派生

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。