C++11
langzi989
每个现象后面都隐藏着一个本质,关键在于我们是否去挖掘它
展开
-
以示例方式记录unique_lock&lock_guard
#include <iostream>#include <mutex>#include <thread>#include <vector>/* 参考链接:https://www.cnblogs.com/fnlingnzb-learner/p/9542183.html* @desc: unique_lock* @constructor:* (1) unique_lock() noexcept;原创 2020-05-27 12:26:34 · 269 阅读 · 0 评论 -
以示例方式记录mutex
#include <iostream>#include <mutex>#include <thread>#include <vector>/** @desc std::mutex* @constructor* constexpr mutex() noexcept; // 只有一个默认构造函数* mutex (const mutex&) = delete; // 禁止拷贝构造* @func原创 2020-05-27 12:25:43 · 186 阅读 · 0 评论 -
使用示例方式记录weak_ptr使用方法
#include <iostream>#include <memory>/*// pa与pb相互引用,导致引用计数不能减为0,导致内存泄漏class B;class A {public: std::shared_ptr<B> m_pb; ~A() { std::cout << "A deleted" << std::endl; }};class B {public: std::s原创 2020-05-20 16:04:21 · 438 阅读 · 0 评论 -
使用示例方式记录shared_ptr使用方法
#include <memory>#include <iostream>// shared_ptr实现共享式拥有概念。// 多个智能指针可以指向相同对象,该对象和其相关资源会在“最后一个引用被销毁”时候释放。// 从名字share就可以看出了资源可以被多个指针共享,它使用计数机制来表明资源被几个指针共享。int main() { std::cout << "***********************默认初始化为空******************原创 2020-05-20 15:28:00 · 240 阅读 · 0 评论 -
使用示例方式记录unique_ptr使用方法
#include <memory>#include <iostream>int main() { std::cout << "*************************默认初始化为nullptr*************************" << std::endl; std::unique_ptr<int> u1; std::unique_ptr<int> u2(nullptr); s原创 2020-05-20 13:15:47 · 357 阅读 · 0 评论 -
C++11 nullptr与常量表达式constexpr记录
1、nullptr(1) nullptr是一个关键字,而nullptr_t是一个类型typedef decltype(nullptr) nullptr_t使用nullptr_t类型必须包含#include ,而nullptr不需要包含任何头文件。nullptr_t类型可以隐式转换为任意一种指针类型;如:std::nullptr_t test;char* s = test;Nullptr_t类型不适用于算数表达式,但是使用与关系表达式。(2) nullptr是有类型的,仅可以被隐式转换为指原创 2020-05-15 16:12:53 · 330 阅读 · 0 评论 -
使用示例方式记录lamda表达式使用方法
#include <iostream>#include <vector>#include <algorithm>/* lamda表达式的基本语法: [capture](parameters)->return-type{body} 语法说明: [capture]:变量捕获,这里指定在lamda表达式中可见的外部变量,并说明是以传值还是传引用的方式进行捕获 (parameters):lamda表达式原创 2020-05-21 10:46:21 · 176 阅读 · 0 评论