
C/C++
文章平均质量分 59
成成赐我力量
这个博客由Tron and Frank共同书写,记录学习的痕迹,以及互相之间交流的媒介
展开
-
c++多线程库手册学习笔记(三)
(承接上一篇)3、更自由一些的mutex管理类:unique_lock这个管理类在设计的时候考虑的更多的是使用锁的自由度,具有lock_guard的所有功能,而且提供随时lock和unlock的能力,效率上应该比lock_guard有所缺乏。在设计时感觉参考了unique_ptr的思想,可以将管理类与mutex锁解关联,std::mutex m;std::unique_lock...原创 2020-01-19 13:51:43 · 334 阅读 · 0 评论 -
c++多线程库手册学习笔记(二)
三、mutex1、基本mutex定义在头文件mutex中,std命名空间。#include <mutex>基本mutex的用法非常普通,和pthread中无异,在c语言的编程中,对于mutex的lock和unlock是较为麻烦的,因为要关注正常退出和异常退出时,锁的释放,否则将容易造成死锁,还有线程被cancel时候锁的释放。在c++中聪明的利用了对象销毁时自动析构的机制,...原创 2020-01-18 13:33:09 · 436 阅读 · 0 评论 -
c++多线程库手册学习笔记(一)
好久不写博客了,一方面是觉得比较花时间,另一方面觉得也没啥好写的,不过最近看cppreference上关于c++多线程的支持,觉得有必要整理整理,就来写一写好了。一、基本的多线程需要的东西:对于多线程代码而言,我觉得最基本需要有以下一些类型:thread类型互斥锁mutex条件变量condition_variablethread类型用来跟踪管理一个线程,互斥锁提供多个线程共享资源的...原创 2020-01-17 06:47:02 · 438 阅读 · 0 评论 -
从键盘输入一个不超过100个字符的的字符串,统计其中有多少个单词。
这是今天一道作业题。有一些值得注意的地方。 1,键盘中输入的字符串是否考虑含有换行符,如果有换行符,则不能ch!=’\n’来判断换行。而应该使用ch!=EOF,EOF对应键盘上的ctrl+Z。但今天遇到的情况是需要按两次ctrl+Z才能继续运行程序,应该是先换个行,再ctrl+Z,然后enter就可以了。 2,如果认为两个单词之间只有一个空格在,则只需查询记录空格键则可以获得单词数。但是可能会...原创 2018-08-03 23:18:13 · 11119 阅读 · 0 评论 -
C++类的理解(二):函数重载和多个构造函数,以及析构函数
一、函数的重载 函数重载并不属于类的特性,是众多高级语言都有的一种函数特性,比如我有下面的函数://函数1:int add(int a,int b){ return a+b;}这个函数接受两个整型变量,返回他们的和,但如果我还要一些功能,比如两个double类型的和,一个整型和100的和,并且我也想用add这个函数名怎么办? 函数重载的概念就是用来解决这个问题的,我们...原创 2018-08-14 08:54:35 · 20933 阅读 · 8 评论 -
C++类的理解(一):类的初识
一、类的意义,以及类与对象: 类的内容比较多,但类是面向对象的基础,所谓面向对象(object),其实就是一种更高层次的模块化,也称为封装。C语言中,稍微复杂点的数据结构都是用结构体来写的,结构体本质上就是把一些相关的信息打包存储,比如猫:struct Cat{ char name[20]; int age; char sex;};这样我们通过键盘输入很多猫的...原创 2018-08-13 11:46:53 · 2704 阅读 · 8 评论