mmxingye

导航

上一页 1 ··· 3 4 5 6 7 8 9 下一页

2022年4月20日 #

18 | 应用可变模板和tuple的编译期技巧

摘要: 今天我们讲一个特殊的专题,如何使用可变模板和 tuple 来完成一些常见的功能,尤其是编译期计算。 可变模板 可变模板 是 C++11 引入的一项新功能,使我们可以在模板参数里表达不定个数和类型的参数。从实际的角度,它有两个明显的用途: 用于在通用工具模板中转发参数到另外一个函数 用于在递归的模板中 阅读全文

posted @ 2022-04-20 23:02 独立树 阅读(199) 评论(0) 推荐(0) 编辑

04 | linux进程通信(消息队列)

摘要: 概述 1.消息队列与命名管道有许多相似之处,但少了在打开和关闭管道方面的复杂性。但使用消息队列并未解决我们在使用命名管道时遇到的一些问题,比如管道满时的阻塞问题 2.消息队列提供了一种在两个不相关的进程之间传递数据的相当简单且有效的方法。与命名管道相比,消息队列的优势在于,它独立于发送和接受进程而存 阅读全文

posted @ 2022-04-20 16:41 独立树 阅读(90) 评论(0) 推荐(0) 编辑

03 | linux下进程通信(共享内存)

摘要: 接下来我们介绍一种简单而高效的进程间通信的方式! 共享内存 注意了是通信也就是数据交换,如果要想避免同时读写发生的同步问题就得需要其他机制! 在实际编程中,常用的同步机制有 信号量、传递消息(使用管道或IPC消息)、生成信号。 但是在这次的实现里面我们用自己提供的非常丑陋的同步标志written_b 阅读全文

posted @ 2022-04-20 15:35 独立树 阅读(55) 评论(0) 推荐(0) 编辑

02 | linux下进程同步(信号量实现)

摘要: #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <sys/sem.h> /*程序目的: 1、完成两个进程的同步 2、每个进程进入临界区后输出一对字符 3、主进程输出‘X',其余进程输出'O' 4、主进程负责创建和 阅读全文

posted @ 2022-04-20 11:21 独立树 阅读(341) 评论(0) 推荐(0) 编辑

2022年4月18日 #

04 | c++<sstream>带给我们的优雅

摘要: 问题导向 我们想要把各种不同的数据类型输出的话? 就算是用printf也避免不了%d,%s等等复杂的东西。 我们的愿望? 有这样一个类似容器的东西,不管是什么基本类型只要丢进去就会自动转化为字符串那太好了。有种万众归一的感觉。 概述 定义了三个类:istringstream、ostringstrea 阅读全文

posted @ 2022-04-18 22:27 独立树 阅读(64) 评论(0) 推荐(0) 编辑

17 | 函数式编程:一种越来越流行的编程范式

摘要: 上一讲我们初步介绍了函数对象和 lambda 表达式,今天我们来讲讲它们的主要用途——函数式编程 一个小例子 如果给定一组文件名,要求数一下文件里的总文本行数,你会怎么做? 函数的原型: 我们期待接受两个 C 字符串的迭代器,用来遍历所有的文件名;返回值代表文件中的总行数。 int count_li 阅读全文

posted @ 2022-04-18 22:04 独立树 阅读(290) 评论(0) 推荐(0) 编辑

03 | C分割字符串

摘要: 首先我们看一下在python中如何简单的实现的: 再来看C语言的实现: #include <stdio.h> #include <string.h> int main() { char a[] = "www.baidu.com"; char *p = NULL; //用来保存strtok分割后的字串 阅读全文

posted @ 2022-04-18 09:19 独立树 阅读(42) 评论(0) 推荐(0) 编辑

02 | C找到字符串中字串出现的次数

摘要: #include <stdio.h> #include <string.h> int countStr(char* str, char* substr) { char *p = strstr(str, substr); //问题的关键在这个函数,会返回第一个匹配到的位置 int count = 0; 阅读全文

posted @ 2022-04-18 08:58 独立树 阅读(35) 评论(0) 推荐(0) 编辑

2022年4月17日 #

16 | 函数对象和lambda:进入函数式编程

摘要: C++98 的函数对象 函数对象(function object) 自 C++98 开始就已经被标准化了。从概念上来说,函数对象是一个可以被当作函数来用的对象。它有时也会被叫做 functor,但这个术语在范畴论里有着完全不同的含义,还是不用为妙——否则玩函数式编程的人可能会朝着你大皱眉头的。 下面 阅读全文

posted @ 2022-04-17 22:35 独立树 阅读(89) 评论(0) 推荐(0) 编辑

2022年4月15日 #

15 | constexpr:一个常态的世界

摘要: 初识 constexpr 我们先来看一些例子: int sqr(int n) { return n * n; } int main() { int a[sqr(3)]; } 想一想,这个代码合法吗?看过之后,再想想这个代码如何? int sqr(int n) { return n * n; } in 阅读全文

posted @ 2022-04-15 21:32 独立树 阅读(457) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 下一页