随笔分类 -  C++

摘要:dll,lib,c++ 阅读全文
posted @ 2017-02-21 18:42 卖雨伞的小男孩 阅读(22586) 评论(0) 推荐(0) 编辑
摘要:一、c++11的多线程 C++98标准中并没有线程库的存在,而在C++11中终于提供了多线程的标准库,提供了管理线程、保护共享数据、线程间同步操作、原子操作等类。 多线程库对应的头文件是#include <thread>,类名为std::thread。 例子: #include <iostream> 阅读全文
posted @ 2017-02-07 14:48 卖雨伞的小男孩 阅读(758) 评论(0) 推荐(1) 编辑
摘要:注意事项: 关闭 关闭 关闭 阅读全文
posted @ 2017-01-20 15:53 卖雨伞的小男孩 阅读(2976) 评论(2) 推荐(1) 编辑
摘要:一、c++11中可以在调用进程中获取被调进程中的结果,具体用法如下 二、promise将值传递给子线程 有promise的情况下必须有setvalue;promise和future均不能被复制,只能被移动。 如果我们需要多个子线程执行一段代码,那么可以使用std::shared_future()来创 阅读全文
posted @ 2016-12-15 01:11 卖雨伞的小男孩 阅读(979) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2016-12-15 01:02 卖雨伞的小男孩 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2016-12-15 00:55 卖雨伞的小男孩 阅读(349) 评论(0) 推荐(0) 编辑
摘要:如果有一个队列,方法一和方法二;方法一是生产者,方法二是消费者; 两者不停的相互等待,加减锁,为了减少不必要的等待,我们可以使用条件变量, 条件的变量的第二个参数的加入可以控制多个线程的”消费“情况 阅读全文
posted @ 2016-12-14 23:52 卖雨伞的小男孩 阅读(222) 评论(0) 推荐(0) 编辑
摘要:unique更方便使用,但是会消耗更多的计算机性能 onceflag保证一个线程被调用一次,防止不能的加锁开锁 阅读全文
posted @ 2016-12-14 23:39 卖雨伞的小男孩 阅读(253) 评论(0) 推荐(0) 编辑
摘要:如果有两把锁 lock1(mutex_gard 方式)和lock; 两者的调用顺序不同,会出现相互等待的情况,从而造成死锁; 为了避免死锁,我们可以: 1、每个线程中锁的调用顺序都相同; 2、使用std:: lock(); 具体用法;在主线程和子线程都调用的方法中 std::lock(mutex1, 阅读全文
posted @ 2016-12-14 23:26 卖雨伞的小男孩 阅读(927) 评论(0) 推荐(0) 编辑
摘要:看两个代码: 以上由于共用资源cout对象,而出现不规律的输出; 可以通过加入mutex对象进行加锁,需要包含头文件mutex.h 注意:线程的安全永远是相对的,根据需要控制安全级别 阅读全文
posted @ 2016-12-14 23:12 卖雨伞的小男孩 阅读(984) 评论(0) 推荐(0) 编辑
摘要:一、多进程和多线程对比 多进程:进程不止一个,开销比较大,通信方式比较复杂(可以用过管道、文件、消息队列进行通信),维护成本不高。 多线程:利用共享内存的方式进行指令的执行,开销比较低,但是维护起来比较麻烦,需要考虑到共享资源的问题。不支持分布式运算。 二、多线程举例 三、多线程管理 1、 2、线程 阅读全文
posted @ 2016-12-14 22:41 卖雨伞的小男孩 阅读(10363) 评论(0) 推荐(1) 编辑
摘要:调用外部命令 如果用默认浏览器,就调用ShellExecute(NULL, _T("open"), _T("explorer.exe"), _T("http://www.baidu.com"), NULL, SW_SHOW); 如果用IE打开,就调用ShellExecute(NULL, _T("op 阅读全文
posted @ 2016-12-14 15:24 卖雨伞的小男孩 阅读(3716) 评论(1) 推荐(0) 编辑
摘要:1、序列for循环 map<string,int> m{{"a",1},{"b",2},{"c",3}} for(auto p:m) { cout<<p.first<<":"<<p.second<<endl } 阅读全文
posted @ 2016-12-08 10:42 卖雨伞的小男孩 阅读(567) 评论(0) 推荐(0) 编辑
摘要:一、简单介绍 JSON 的全称为:JavaScript Object Notation,JSON 是用于标记 Javascript 对象的,JSON 官方的解释为:JSON 是一种轻量级的数据传输格式。 二、第三方库 jsoncpp:它 是比较出名的 C++ JSON 解析库。地址:http://s 阅读全文
posted @ 2016-11-30 15:17 卖雨伞的小男孩 阅读(1351) 评论(0) 推荐(0) 编辑
摘要:L表示long指针 这是为了兼容Windows 3.1等16位操作系统遗留下来的,在win32中以及其他的32为操作系统中, long指针和near指针及far修饰符都是为了兼容的作用。没有实际意义。 P表示这是一个指针;C表示是一个常量;T表示在Win32环境中, 有一个_T宏,这个宏用来表示你的 阅读全文
posted @ 2016-11-24 09:58 卖雨伞的小男孩 阅读(14432) 评论(0) 推荐(1) 编辑
摘要:[c++]在C++中定义常量的两种方法的比较 常量是定以后,在程序运行中不能被改变的标识符。C++中定义常量可以用#define 、const 这两种方法。例如: #define PRICE 10 //定义单价常量10 const int PRICE = 10; //定义单价常量10 其实用常量是有 阅读全文
posted @ 2016-05-20 13:48 卖雨伞的小男孩 阅读(655) 评论(0) 推荐(0) 编辑
摘要:C++类中的常量 由于#define 定义的宏常量是全局的,不能达到目的,于是想当然地觉得应该用 const 修饰数据成员来实现。const 数据成员的确是存在的,但其含义却不是我们所期望的。const 数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的,因为类可以创建多个对象,不同的对 阅读全文
posted @ 2016-05-20 13:46 卖雨伞的小男孩 阅读(180) 评论(0) 推荐(0) 编辑
摘要:1、static成员的所有者是类本身和对象,但是多有对象拥有一样的静态成员。从而在定义对象是不能通过构造函数对其进行初始化。 2、静态成员不能在类定义里边初始化,只能在class body外初始化。 3、静态成员仍然遵循public,private,protected访问准则。 4、静态成员函数没有 阅读全文
posted @ 2016-05-19 17:40 卖雨伞的小男孩 阅读(132) 评论(0) 推荐(0) 编辑
摘要:const的用法,特别是用在函数后面 在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针。可以改变this所指向的值,但不能改变 this所保存的地址。 在 const成员函数中,this的类型是一个指向 const类类型对象的 const指针。既不能改变 this所 阅读全文
posted @ 2016-05-16 16:41 卖雨伞的小男孩 阅读(936) 评论(0) 推荐(0) 编辑
摘要:一、三种继承方式 private 基类的公有成员与保护成员成为派生类的私有成员 public 基类的成员访问权限不变 protected 基类的公有成员与保护成员将成为派生类的保护成员 二、三种继承方式的对比: 三、在没有虚函数的情况下,类指针调用函数是注意: 如果以一个基类指针指向派生类对象,那么 阅读全文
posted @ 2016-05-16 15:23 卖雨伞的小男孩 阅读(318) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示