- 博客(16)
- 资源 (3)
- 收藏
- 关注
原创 线程同步之条件变量
c++11中的条件变量是线程同步原语条件变量是解决哪些线程同步问题?试用场景是什么?顾名思义,所谓条件变量可以理解为一个条件,线程间进行同步通信的时候,通过这个修改和检查这个条件的状态,来进行某些操作。例如:生产者生产数据到队列,消费者从队列拿数据,其中生产者生产数据到队列的条件是条件1:队列不能满;而消费者从队列拿数据的条件是条件2:队列中有数据。生产者受条件1制约,同时能够改变条件2状态;消费者受条件2制约,同时可以改变条件1状态。所以生产者和消费者可以通过这两个条件进行线程同步。
2023-09-05 20:56:09
155
原创 C++11 特性可变参数模板
可变模板参数本文介绍可变参模板的基本概念与用法,适合初次接触变参模板的学习人员,大量参考了cppreferen内容,可以说是对其的整理与总结。背景什么是模板的形参与实参?模板形参包函数模板的参数包形参包展开总结背景c++11特性引入可变模板参数这一特性,这使得可以含有不定个数参数的模板类和模板参数得以实现。如下代码:变参数模板类如下:// 变参数模板类templa...
2020-04-24 17:21:50
344
转载 [转]C/C++ 可变参数宏与__VA_ARGS__ 宏
在GNU C中,从C99开始,宏可以接受可变数目的参数,就象可变参数函数一样。和函数一样,宏也用三个点…来表示可变参数VA_ARGS 宏VA_ARGS 宏用来表示可变参数的内容,简单来说就是将左边宏中 … 的内容原样抄写在右边__VA_ARGS__ 所在的位置。如下例代码:#include <stdio.h>#define debug(...) printf(__VA_ARGS...
2020-04-24 11:44:21
338
原创 C++时间库 chrono
时间 Chronoduration:表示一段时间用法原理time_point 记录某一时刻的时间点用法原理时钟 steady_clock和system_clock拓展时间 Chrono标准库中时间有关的结构,存储在chrono头文件中。头文件<chrono>,命名空间:std::chrono。命名空间中存储两个重要的结构体:duratio...
2020-04-07 20:37:43
3126
原创 C++对象模型——数据存储与分布
C++对象模型存储与分布本文介绍C++对象模型的存储与分布,参考编译器为vs2019(不同编译器会有差别),主要介绍对象模型的存储与其成员分布,包括在继承,虚拟继承等多种情况下的对象存储模型类中成员的存储位置类中的成员:数据(data)静态数据成员(static member data)非静态数据成员(no-static member data)函数(function)分...
2020-04-02 15:33:03
560
原创 C++头文件中声明变量 const与static
背景在平时写程序中,我们常常需要使用全局变量,但是如果在头文件(.h文件)中声明变量(非const常量)时,若有多个.cpp 文件include这个头文件时会出现多次定义的错误。如在a.h文件中:// a.h 文件#include<iostream>int a ;void f();在a.cc文件中:// a.cc 文件#include "a.h"void f()...
2020-04-02 15:30:30
1679
基于webGL的earth展示系统
2016-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人