C++11的新特性

C++11引入了许多新特性,如更简单的初始化方式,增强了{}的使用,auto关键字,范围for循环,显式默认成员函数,final和override关键字,右值引用及其优化,线程支持和原子操作等,提高了编程效率和代码质量。
摘要由CSDN通过智能技术生成

更加简单的初始化方式

C++11提供在类中定义类的数据成员,可以直接在成员之后添加=[缺省值],当通过编译器自动生成的默认构造函数初始化对象时,对应的数据成员就会被初始化成对应的缺省值

class Test
{
  public:
    int _t = 100;
};
int main()
{
    Test t;	//初始化完成后,t._t的值为100
    return 0;
}

更加强大的{}

在C++98中,数组可以使用{}来进行初始化,对自定义类型是不可以的

在C++11中,{}的使用范围变得更广,可以使用{}来初始化一个vector/list/string/map/set/multimap/multiset/unordered_map/unordered_set,在初始化时,可以添加=号,也可以不适用=号

int main()
{
    //c++11中,下面的方式是可以的
    std::vector<int> v1 = { 1,2,3 };
	std::vector<int> v2{ 1,2,3 };
	std::list<int> l1 = { 1,2,3 };
	std::list<int> l2{ 1,2,3 };
	std::string s1 = { "hello" };
	std::string s2{ "he
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值