- 博客(7)
- 收藏
- 关注
原创 C语言,基于递归下降的计算器程序。缺点,不支持小括号。
printf("错误:%s\n", s);error("缺少运算符");error("缺少数字");
2023-10-01 02:52:32
72
原创 生产者和消费者
/ 使消费者线程与其句柄分离。// 使生产者线程与其句柄分离。// 标记流程已经执行完成。// 文件:Producer & Consumer.cpp。// 生产者和消费者测试(需要C++11标准支持)// 使用原子变量代替互斥锁进行。// 等待生产者生产完成。
2023-09-10 22:51:52
68
2
原创 C语言 洗牌算法
/ 洗牌算法for(i=0;i<n;++i){temp=v[i];v[i]=v[j];v[j]=temp;n=10;for(i=0;i<n;for(i=0;i<n;puts("");for(i=0;i<n;return 0;
2023-08-21 23:56:56
224
1
原创 C++11 并发编程
#include <iostream>#include <thread>#include <mutex> using namespace std;mutex mutexObject; // 互斥量对象int refCount = 0; int number = 0;void crazyAdd(){ for (int i = 0; i < 1e7; ++i){number++;} mutexObject.lock(); refCount--; mutexO
2023-08-21 23:42:13
57
1
原创 编写安全的C++
6.C++ 变量和成员变量,要设置为默认值,但有些类型的默认值可能不用0,比如句柄或描述符的默认值可能不为0,可能为-1什么的,应该用无效值代替默认值。指针要设置为NULL。应该用全局指针变量代替,用动态创建对象的方式,以保证各个全局对象构造的顺序(各个对象进行析构时,和构造的顺序相反)。7.使用assert检查表达式的同时在非Debug模式也要编写判断表达式的代码。4.解决一些会有警告的代码,比如无法访问的代码,那代表程序还有优化空间。3.不要禁用有符号和无符号类型不匹配的警告,有些时候会起到作用。
2023-08-16 00:19:18
76
3
原创 Visual Studio 搭建与C++ Boost库的开发环境
进入 boost-binaries,进入 1.70.0,下载 boost_1_70_0-msvc-14.0-32.exe和boost_1_70_0-msvc-14.0-64.exe。打开项目属性页,配置VC++目录和库目录为boost的对应目录。不需要链接指定的静态库,包含的Boost模块会自动链接相应的静态库。msvc14.0对应Microsoft Visual Studio 2015。在这里,先下载旧版,进入旧版本的。
2023-08-16 00:03:17
350
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人