摘要:以下是类型CMyString的声明,请为该类型添加赋值运算符函数 class CMyString { public: CMyString(char* pData = nullptr); CMyString(const CMyString& str); ~CMyString(); private: c
阅读全文
摘要://(1)创建和等待多个线程 #include<iostream> #include<thread> #include<vector> using namespace std; void myprint(int num) { cout << "this thread id = " << std::t
阅读全文
摘要:问:定义一个空的类型,里面没有任何成员变量和成员函数。对该类型求sizeof,得到的结果是什么? 答:结果是1,当我们声明该类型的实例的时候,这个实例必须在内存中占有一定的空间,否则就无法使用这个实例,至于占有多少内存,则由编译器决定。在vs中,每个空的类型的实例占有1个字节的空间。 问:如果在该类
阅读全文
摘要:C 语言的强制类型转换形式(type) expr;但是这种旧式强制类型转换从表现形式上来说不够清晰明了,容易看漏,一旦转换过程出现问题,追踪起来也就更加困难。为了解决以上问题,C++不仅兼容了C的强制转换,来引入了新的转换方法。C++新的强制类型转换的形式:cast - name<type>(exp
阅读全文
摘要:/*线程传参详解,detach()大坑,成员函数做线程函数*/ //(1)传递临时对象作为线程参数 //(1.1)要避免的陷阱 #include<iostream> #include<thread> using namespace std; void myprint(const int& i, co
阅读全文
摘要:/*线程启动、结束,创建线程多法,join,detach*/ //(1)线程运行的开始和结束 //主线程从main为入口。那我们自己创建的线程也需要从一个函数为入口。 // 当没有detach的时候,整个程序执行结束的标志是主线程执行结束。 //(1.1)thread #include<iostre
阅读全文
摘要:/*第一节 并发基本概念与实现,进程、线程基本概念*/ //(1)并发、进程、线程的基本概念和综述 //(1.1)并发:两个或者更多的任务同时进行,一个程序同时执行多个独立的任务。 // 单核cpu某一个时刻只能执行一个任务;单核cpu实行多任务的方式是进行任务切换实现的。 // 这是一种并发的假象
阅读全文