51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

C++

C++11新特性std::function和lambda表达式

C++11新特性std::function和lambda表达式

厉飞雨 阅读(24) 评论(0) 赞(5)

c++11新增了`std::function`、`std::bind`、`lambda`表达式等封装使函数调用更加方便。 `std::function` {#std-function} =============================== 讲`std::function`前首先需要了解下什么是可调用对象 满足以下条件之一就可称为可调用对象: * 是一个函数指针...

C++11新特性之模板改进

C++11新特性之模板改进

厉飞雨 阅读(25) 评论(0) 赞(5)

C++11关于模板有一些细节的改进: * 模板的右尖括号 * 模板的别名 * 函数模板的默认模板参数 模板的右尖括号 {#模板的右尖括号} ================== C++11之前是不允许两个右尖括号出现的,会被认为是右移操作符,所以需要中间加个空格进行分割,避免发生编译错误。 模板的别名 {#模板的别名} ============== C++11引入...

C++11新特性之线程相关的知识点

C++11新特性之线程相关的知识点

厉飞雨 阅读(25) 评论(0) 赞(2)

c++11关于并发引入了好多新东西,这里按照如下顺序介绍: * std::thread相关 * std::mutex相关 * std::lock相关 * std::atomic相关 * std::call_once相关 * volatile相关 * std::condition_variable相关 * std::future相关 * async相关 std...

C++11的异步操作 - async

C++11的异步操作 - async

厉飞雨 阅读(21) 评论(0) 赞(1)

C++11中增加了async,如它的名字一样,这个关键字就是用来创建异步操作的,c++11中有个更常用的异步操作,叫做线程thread,那么thread和async有什么区别呢?以及async的优势是什么?应该怎么使用? C++11 使用 std::async创建异步程序 {#C-11-使用-std-async创建异步程序} =========================...

C++11新特性之智能指针

C++11新特性之智能指针

厉飞雨 阅读(31) 评论(0) 赞(5)

C++11引入了三种智能指针: * std::shared_ptr * std::weak_ptr * std::unique_ptr shared_ptr {#shared-ptr} ======================== shared_ptr使用了引用计数,每一个shared_ptr的拷贝都指向相同的内存,每次拷贝都会触发引用计数+1,每次生命周期结束析构的...

C++ 发展历程

C++ 发展历程

厉飞雨 阅读(25) 评论(0) 赞(5)

* 1979年 C++ 编程语言的历史可以追溯到 1979 年,当时 Bjarne Stroustrup 为博士学位论文进行了一些开发。在 Stroustrup 可以使用的所有语言中,有一种被称为 Simula 的语言,顾名思义,它可能是一种主要为仿真而设计的语言。Simula 67 语言是 Stroustrup 使用的变体,被认为是支持面向对象编程范例的主要语言。St...

C++基础入门知识点整理

C++基础入门知识点整理

厉飞雨 阅读(22) 评论(0) 赞(4)

1 C++初识 {#1-C-初识} ================= 1.1 第一个C++程序 {#1-1-第一个C-程序} --------------------------- 编写一个C++程序总共分为4个步骤 * 创建项目 * 创建文件 * 编写代码 * 运行程序 ### 1.1.1 创建项目 {#1-1-1-创建项目} ​Visual Studio是我们用...

C++11新特性整理

C++11新特性整理

厉飞雨 阅读(26) 评论(0) 赞(4)

auto \& decltype {#auto-amp-decltype} ===================================== 关于C++11新特性,最先提到的肯定是类型推导,C++11引入了auto和decltype关键字,使用他们可以在编译期就推导出变量或者表达式的类型,方便开发者编码也简化了代码。 * auto:让编译器在编译器就推导出...

如何在 C++11 中使用 Lambda 表达式

如何在 C++11 中使用 Lambda 表达式

厉飞雨 阅读(27) 评论(0) 赞(3)

Lambda 表达式不仅具有函数指针的灵活性,还可以通过捕获局部变量提高可扩展性。本文介绍 Lambda 表达式的语法和用法。 简介 {#简介} ======== Lambda 可能是最新的 C++11 标准的典型特性之一。Lambda 表达式把函数看作对象。Lambda 表达式可以像对象一样使用,比如可以将它们赋给变量和作为参数传递,还可以像函数一样对其求值。 当一个函...

C++ DirectShow 打开多个摄像头

C++ DirectShow 打开多个摄像头

厉飞雨 阅读(23) 评论(0) 赞(3)

在C++中使用DirectShow处理多个摄像头通常涉及创建多个Filter Graph,每个摄像头一个。以下是一个简化的代码示例,展示了如何为两个摄像头创建两个独立的Filter Graph: |------------------------------------------------------------------------------------------...