汇总c++11新特性,含有智能指针,左值右值等

本文详细介绍了C++11的一些重要新特性,包括左值右值、智能指针(如unique_ptr)、自动类型推导(auto, decltype)、列表初始化、匿名函数(Lambda表达式)、nullptr的使用、default和delete关键字的含义,以及enum class的作用。这些特性极大地提升了C++的编程效率和代码质量。" 116485216,9647350,深度学习:理解Epoch、Batch和Iteration,"['深度学习', '神经网络', '算法']
摘要由CSDN通过智能技术生成

左值右值:

跳转


智能指针:

跳转


自动类型推导:

auto & decltype,可以在编译期就推导出变量或者表达式的类型

int main() {
   
    auto a = 2;
    std::cout<<typeid(a).name()<<std::endl; // 输出: i
    return 0;
}

decltype:相对于auto用于推导变量类型,而decltype则用于推导表达式类型,这里只用于编译器分析表达式的类型,表达式实际不会进行运算。

int main(int argc , char * argv[])
{
   
    int i =1;
    decltype(i++) b = 3;
    std::cout<<i<<std::endl;  // 还是 1
    std::cout<<typeid(b).name()<<std::endl;  // i
    return 0;
}

列表初始化:

C++11 引入的一种初始化语法,它提供了一种更加一致和灵活的初始化方式。它可以用于各种场景,包括数组、类对象、结构体、容器等。

class Person{
   
public:
    int age,height;
};
int main(int argc , char * argv[])
{
   
    Person huafeng = {
   18,68}; // 这种就是列表初试化
    std::cout<<huafeng.age<<" "<<huafeng.heig
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huafeng88

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值