秋叶原 && Mike || 麦克

比你优秀的人往往比你更努力!!!!

C++11新特性学习

1、什么是C+11 C++11标准为C++编程语言的第三个官方标准,正式名叫ISO/IEC 14882:2011 - Information technology -- Programming languages -- C++。在正式标准发布前,原名C++0x。它将取代C++标准第二版ISO/I...

2017-09-03 15:07:50

阅读数 133653

评论数 1

protobuf入门教程

1、简介和安装 2、消息类型 3、proto3 与 proto2 的区别 4、常用序列化/反序列化接口 5、repeated限定修饰符 6、枚举(enum)、包(package) 7、导入定义(import) 8、protobuf免费教学视频 ...

2017-07-02 11:41:29

阅读数 39021

评论数 0

Go基础编程:流程控制

Go语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。 顺序结构:程序按顺序执行,不发生跳转。 选择结构:依据是否满足条件,有选择的执行相应功能。 循环结构:依据条件是否满足,循环多次执行某段代码。 选择结构 if语句 if var a int ...

2017-09-24 18:40:44

阅读数 3375

评论数 0

C++11:类的改进

继承构造C++ 11允许派生类继承基类的构造函数(默认构造函数、复制构造函数、移动构造函数除外)。#include <iostream> using namespace std;//基类 class A { public: A(int x, int y) { ...

2017-09-03 14:51:06

阅读数 1859

评论数 0

C++11:模板的改进

右尖括号>改进在C++98/03的泛型编程中,模板实例化有一个很繁琐的地方,就是连续两个右尖括号(>>)会被编译解释成右移操作符,而不是模板参数表的形式,需要一个空格进行分割,以避免发生编译时的错误。template <int i> class X{}; templa...

2017-09-03 12:17:15

阅读数 2607

评论数 0

C++11:noexcept修饰符、nullptr、原生字符串字面值

noexcept修饰符void func3() throw(int, char) //只能够抛出 int 和char类型的异常 {//C++11已经弃用这个声明 throw 0; }void BlockThrow() throw() //代表此函数不能抛出异常,如果抛出,就会异常 { ...

2017-09-03 12:14:14

阅读数 3762

评论数 0

C++11:基于范围的for循环、静态断言

基于范围的for循环在C++中for循环可以使用基于范围的for循环,示例代码如下: int a[] = { 1, 2, 3, 4, 5 }; int n = sizeof(a) / sizeof(*a); //元素个数 for (int i = 0; i < n; ++...

2017-09-03 12:08:53

阅读数 5002

评论数 0

C++11:初始化

类内成员初始化class Mem { public: Mem(int i): m(i){} //初始化列表给m初始化 int m; }; class Group { public: Group(){}private: int data = 1; // 使...

2017-08-22 09:58:34

阅读数 2879

评论数 2

C++11:类型推导

autoauto的自动类型推导,用于从初始化表达式中推断出变量的数据类型。从这个意义上讲,auto并非一种“类型”声明,而是一个类型声明时的“占位符”,编译器在编译时期会将auto替换为变量实际的类型。通过auto的自动类型推导,可以大大简化我们的编程工作:#include <iostrea...

2017-08-21 23:27:21

阅读数 4354

评论数 0

C++11:lambda表达式

lambda基础使用lambda 表达式(lambda expression)是一个匿名函数,lambda表达式基于数学中的 λ 演算得名。C++11中的lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。lambda表达式的基本构成: ① 函数对象参数 [],标识一个lambda...

2017-08-21 16:55:38

阅读数 6608

评论数 0

C++11:std::bind

std::bind是这样一种机制,它可以预先把指定可调用实体的某些参数绑定到已有的变量,产生一个新的可调用实体,这种机制在回调函数的使用过程中也颇为有用。C++98中,有两个函数bind1st和bind2nd,它们分别可以用来绑定functor的第一个和第二个参数,它们都是只可以绑定一个参数,各种...

2017-08-21 11:30:18

阅读数 5743

评论数 0

C++11:std::function

在C++中,可调用实体主要包括:函数、函数指针、函数引用、可以隐式转换为函数指定的对象,或者实现了opetator()的对象。C++11中,新增加了一个std::function类模板,它是对C++中现有的可调用实体的一种类型安全的包裹。通过指定它的模板参数,它可以用统一的方式处理函数、函数对象、...

2017-08-21 11:00:07

阅读数 5801

评论数 0

C++ 闭包(closure)

本文转自:http://www.cnblogs.com/Aion/p/3449756.html什么是闭包闭包有很多种定义,一种说法是,闭包是带有上下文的函数。说白了,就是有状态的函数。更直接一些,不就是个类吗?换了个名字而已。一个函数,带上了一个状态,就变成了闭包了。那什么叫 “带上状态” 呢? ...

2017-08-21 09:01:54

阅读数 7892

评论数 0

C++11:互斥量

为什么需要互斥量在多任务操作系统中,同时运行的多个任务可能都需要使用同一种资源。这个过程有点类似于,公司部门里,我在使用着打印机打印东西的同时(还没有打印完),别人刚好也在此刻使用打印机打印东西,如果不做任何处理的话,打印出来的东西肯定是错乱的。#include <iostream> ...

2017-08-19 21:34:12

阅读数 8124

评论数 0

C++11:线程

在C++11之前,C/C++一直是一种顺序的编程语言。顺序是指所有指令都是串行执行的,即在相同的时刻,有且仅有单个CPU的程序计数器执行代码的代码段,并运行代码段中的指令。而C/C++代码也总是对应地拥有一份操作系统赋予进程的包括堆、栈、可执行的(代码)及不可执行的(数据)在内的各种内存区域。而在...

2017-08-19 21:19:46

阅读数 5287

评论数 0

C++11:可变参数的模板

概述在C++11之前,类模板和函数模板只能含有固定数量的模板参数。C++11增强了模板功能,允许模板定义中包含0到任意个模板参数,这就是可变参数模板。可变参数模板和普通模板的语义是一样的,只是写法上稍有区别,声明可变参数模板时需要在typename或class后面带上省略号“…”:template...

2017-08-19 00:14:02

阅读数 8631

评论数 0

C++11:常量表达式

常量表达式主要是允许一些计算发生在编译时,即发生在代码编译而不是运行的时候。这是很大的优化:假如有些事情可以在编译时做,它将只做一次,而不是每次程序运行时都计算。使用constexpr,你可以创建一个编译时的函数:constexpr int GetConst() { return 3; }...

2017-08-18 00:03:23

阅读数 4201

评论数 0

C++11:用户定义字面量

本文转至:https://www.devbean.net/2012/05/cpp11-literals/用户自定义字面值,或者叫“自定义后缀”更直观些,主要作用是简化代码的读写。long double operator"" _mm(long double x) { return...

2017-08-17 20:38:58

阅读数 2245

评论数 0

C++11:强类型枚举

C++ 11引入了一种新的枚举类型,即“枚举类”,又称“强类型枚举”。声明请类型枚举非常简单,只需要在enum后加上使用class或struct。如:enum Old{Yes, No}; // old style enum class New{Yes, No}; // ne...

2017-08-17 20:33:27

阅读数 2075

评论数 0

C++11:智能指针

C++11中有unique_ptr、shared_ptr与weak_ptr等智能指针(smart pointer),定义在 memory 中。可以对动态资源进行管理,保证任何情况下,已构造的对象最终会销毁,即它的析构函数最终会被调用。unique_ptrunique_ptr持有对对象的独有权,同一...

2017-08-17 11:20:05

阅读数 8188

评论数 0

提示
确定要删除当前文章?
取消 删除