C++
文章平均质量分 68
柏树先生
模式识别,机器学习专业的研究生,联系方式:mr.baishu@gmail.com
展开
-
、给一组字符串,需要你输出最小长度的字符串与最大长度的字符串,如果有相同最小(大)长度的,就按照给的顺序挨个输出。
【问题描述】给一组字符串,需要你输出最小长度的字符串与最大长度的字符串,如果有相同最小(大)长度的,就按照给的顺序挨个输出。【例如】【输入】qwert asdfg sdf erd jkjkljsldfwr dfdf【输出】sdf erd jkjkljsldfwr//本代码使用的为STL//要注意一下几句代码//第一:long_Strlength=vec_String.at(vec_Stri原创 2016-03-06 19:27:20 · 2112 阅读 · 1 评论 -
第二章 线程管理
第2章中,我们将了解一下用于管理线程的类和函数 本章主要内容 启动新线程等待线程与分离线程线程唯一标识符 使用C++线程库启动线程,可以归结为构造 std::thread 对象: void do_some_work();std::thread my_thread(do_some_work); 注意,当把函数对象传入到线程构造函数中时,需要避免原创 2016-08-17 09:06:36 · 551 阅读 · 0 评论 -
第三章 数据竞争与互斥对象
案例:#include#include#include using namespace std; void function_1(){for (int i = 0; i > -100; i--){std::cout << "From t1:" << i << std::endl; }}int main(){thread t1原创 2016-08-17 09:08:15 · 421 阅读 · 0 评论 -
第四章 死锁
2多个资源的情况 #include#include#include#include#include using namespace std; std::mutex mu;class lofFile{public:lofFile(){f.open("log.txt");//构造函数中打开log.txt文件原创 2016-08-17 09:09:26 · 410 阅读 · 0 评论 -
第五章 Unique Lock and Lazy Initialization
本章学习重点:Unique Lock 线程环境中处理初始化问题 前面介绍过两点"加锁"的方式:一个是使用mutex,另一个是lock_guard,还有另外一种方式是使用unique_lock. lock_guard 最大的缺点也是简单,没有给程序员提供足够的灵活度,因此,C++11 标准中定义了另外一个与 Mutex RAII 相关类原创 2016-08-17 09:10:23 · 603 阅读 · 0 评论 -
第六章 条件变量
前面的章节中,线程使用互斥变量同步访问普通资源,而本章将讨论另外一种同步问题。案例代码:#include#include#include#include#include#include using namespace std; std::list q; std::mutex mu; void function1(){int原创 2016-08-17 09:25:55 · 619 阅读 · 0 评论 -
第七章 Future,Promise and async()——线程通信
本章目标: 主线程与次线程通信的问题次线程与主线程通信的问题 案例清单:计算阶乘代码示例 #include#include#include#include#include using namespace std; void factorial(int N){int res = 1;for (int i = N; i >原创 2016-08-17 09:26:45 · 746 阅读 · 0 评论 -
第八章 使用可调用对象
本章节将会讨论创建线程的一些方法,在代码清单中已经注释。 代码清单:#include#include#include#include #include using namespace std; class A{public:void f(int x, char y) {} //成员函数f() int operat原创 2016-08-17 09:27:08 · 378 阅读 · 0 评论 -
第九章 packaged_task
>> #include #include #include #include #include // unique function to avoid disambiguating the std::pow overload setint f(int x, int y) { return std::pow(x,y); } void task_lambda(){ std::package原创 2016-08-17 09:29:09 · 461 阅读 · 0 评论 -
第十章 线程与时间限制
#include#include#include#include#include#include using namespace std; int factorial(int N){int res = 1; for (int i = N; i > 1; i--){res *= i;}return res;}std::原创 2016-08-17 09:29:24 · 579 阅读 · 0 评论 -
Vector的用法
本文摘自百度知道中网友的回复,对于C++ STL中的vector,特别是vector嵌套vector有很好的案例说明。转载 2016-03-07 11:33:26 · 474 阅读 · 0 评论 -
第一章 Hello Word
1.4 开始入门 #include int main(){std::cout << "Hello World\n";} 使用#include 定义hello()函数 因为每个线程都必须具有一个初始函数(initial function),新线程的执行在这里开始。 对于应用程序来说,初始线程是main(),但是对原创 2016-08-17 09:04:22 · 347 阅读 · 0 评论