关闭
当前搜索:

c++11中的智能指针

在C++11中有四种智能指针,auto_ptr,shared-ptr,unique_ptr和weak-ptr,其中auto_ptr有许多不足之处,在C++11中已经建议废弃使用。 1. shared_ptr     std::shared_ptr智能指针可以通过共享指向对象的所有权,从而实现对对象的动态管理。std::shared_ptr一般不会拥有对象,相反,所有指向对象的std::shar...
阅读(414) 评论(0)

C++11系列学习之七---------初始化列表

一、前言      C++的学习中,我想每个人都被变量定义和申明折磨过,比如我在大学笔试过的几家公司,都考察了const和变量,类型的不同排列组合,让你区别有啥不同。反正在学习C++过程中已经被折磨惯了,今天再来看看重温下那段“辉煌的历史”。先来看一段代码: Player pa; // (a) Player pb();...
阅读(649) 评论(0)

C++11系列学习之六-----for

前言     C++11这次的更新带来了令很多C++程序员期待已久的for range循环,每次看到javascript, lua里的for range,心想要是C++能有多好,心里别提多酸了。这次C++11不负众望,再也不用羡慕别家人的for range了。 使用场景 ex1:遍历字符串 std::string str = "hello, world"; for(auto ch ...
阅读(375) 评论(0)

C++11系列学习之五-------decltype

使用场景      在C++中经常要用到很长的变量名,如果已经有变量和你将使用的变量是一个类型,即可使用decltype关键字 来申明一样的类型变量。 decltype原理      返回现有变量类型,decltype是一个关键字,而不是一个函数,这有啥区别呢?decltype在编译阶段返回变量类 型,而不是在运行阶段传递不同变量返回不同值。 decltyp...
阅读(514) 评论(0)

C++11系列学习之四----auto

在哪些情况下要申明类型: 定义变量类型 函数返回值,函数参数 表达式返回变量类型 auto关键字原理      在定义变量的时候必须申明类型,c++是强语言类型,在编译阶段需要知道类型,这样的好处是程序效率更高,而动态语言不需要类型申明的需要自推导变量类型。使用了auto是不是c++效率会变慢?完全不是,因为在编译阶段编译器已经帮程序员推导好了变量的类型。前提条件是编译器可以根据当前...
阅读(530) 评论(0)

C++11系列学习之三----array/valarray

创建数组,是程序设计中必不可少的一环。我们一般可以有以下几种方法来创建数组。 一、C++内置数组 数组大小固定,速度较快 通用格式是:数据类型   数组名[ 数组大小 ]; 如 int a[40];//一维数组   int a[5][10];//二维数组 二、vector创建数组 包含多种通用算法 长度可变,使用灵活,但效率稍...
阅读(3486) 评论(0)

C++11系列学习之二-----lambda表达式

C++11添加了一项名为lambda表达式的新功能,通过这项功能可以编写内嵌的匿名函数,而不必编写独立函数和函数对象,使得代码更容易理解。 lambda表达式的语法如下所示: [capture_block](parameters) exceptions_specification -> return_type {body} [捕捉块](参数) 异常 -> 返回值类型 {主体} 或者更直...
阅读(731) 评论(0)
    个人资料
    • 访问:284570次
    • 积分:4122
    • 等级:
    • 排名:第8671名
    • 原创:117篇
    • 转载:82篇
    • 译文:8篇
    • 评论:106条
    个人网站
    最新评论