- 博客(8)
- 收藏
- 关注
转载 C++ 中_onexit()函数
这个函数可以实现在main主函数执行完毕之后,才执行的代码。(1)使用格式:_onexit(int fun()) ,其中函数fun()必须是带有int类型返回值的无参数函数;(2)_onexit() 包含在头文件cstdlib中,cstdlib为c语言中的库函数;(3)无论函数_onexit()放到main中任意位置,它都是最后执行。#include <io...
2019-06-25 12:27:02
2063
原创 智能指针循环引用及解决
智能指针循环引用#include <iostream>#include <memory>using namespace std; class B;class A{public:// 为了省去一些步骤这里 数据成员也声明为public //weak_ptr<B> pb; shared_ptr<B> pb; vo...
2019-06-25 11:39:49
500
原创 拆分整数问题
给定一个整数要求拆分成整数之和。如 3 = 1 + 1 +1 = 1 + 2 = 3;#include<stdio.h>#include<string>#include<iostream>using namespace std;int print(int min, int max, char* buf,int buflen,int strlen)...
2019-06-25 11:37:33
204
原创 两个线程循环打印
要求使用两个线程交替打印出内容;#include <thread>#include <iostream>#include <mutex>#include <condition_variable>using namespace std;mutex data_mutex;condition_variable data_var;bool...
2019-06-25 11:35:04
392
原创 关于重定义默认参数的问题
今天写了一个string类的简单实现;可是最初的时候一直报错重定义默认参数,代码如下:class String{public: String(const char *str = NULL); String(const String &another); ~String(); String &operator =(const String &rhs);...
2018-11-23 11:05:58
2060
转载 strcpy实现
已知strcpy函数的原型是:char *strcpy(char *dst, const char *src);实现strcpy函数 解释为什么要返回char * 假如考虑dst和src内存重叠的情况,strcpy该怎么实现char *strcpy(char *dest, const char *str) { assert(dest != NULL &am...
2018-11-23 10:18:04
97
原创 C++中的联合体
C++ 中的联合体是多个变量共享一段内存(相互覆盖),联合体的内存占用是所有成员中内存最大的那个所占用的大小。 #include <iostream>union { int i;char st[2];}un;int main(){ un.st[0] = 6; un.st[1] = 10; cout<<un.i<<endl; r...
2018-11-14 11:06:32
638
原创 信号量和管程区别
1、信号量可以并发,并发量是取决于s的初始值,而管程则是在任意时刻都是只能有一个。2、信号量的P操作在操作之前不知道是否会被阻塞,而管程的wait操作则是一定会被阻塞。3、管程的进程如果执行csignal后,但是没有在这个条件变量上等待的任务的话,则丢弃这个信号。进程在发出信号后会将自己置于紧急队列之中,因为他已经执行了部分代码,所以应该优先于入口队列中的新进入的进程执行。4、当前进程...
2018-10-29 10:26:48
6632
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人