摘要:
独立主格结构 A : n. + present participle phrase (名词 + 现在分词短语) 到处都可以看见人们穿着节日服装,满脸笑容 Everywhere you can see people in their holiday dresses, their faces shining with smiles 天气要是合适,我们明天去西山玩 Weather promising, we'll go on an excursion to the Western Hill tomorrow. B: n. + past participle phrase (名词 + 加过程去 阅读全文
posted @ 2012-04-08 23:56
KingsLanding
阅读(1752)
评论(0)
推荐(0)
摘要:
下面是一个生产者消费者问题,来介绍condition_variable的用法。当线程间的共享数据发生变化的时候,可以通过condition_variable来通知其他的线程。消费者wait 直到生产者通知其状态发生改变,Condition_variable是使用方法如下:·当持有锁之后,线程调用wait·wait解开持有的互斥锁(mutex),阻塞本线程,并将自己加入到唤醒队列中·当收到通知(notification),该线程从阻塞中恢复,并加入互斥锁队列(mutex queue)线程被唤醒之后继续持有锁运行。Condition variable有两种类型:con 阅读全文
posted @ 2012-04-08 23:50
KingsLanding
阅读(12719)
评论(1)
推荐(0)
摘要:
C++11开始支持多线程编程,之前多线程编程都需要系统的支持,在不同的系统下创建线程需要不同的API如pthread_create(),Createthread(),beginthread()等,使用起来都比较复杂,C++11提供了新头文件<thread>、<mutex>、<atomic>、<future>等用于支持多线程。使用C++11开启一个线程是比较简单的,下面来看一个简单的例子:#include <thread>#include <iostream>void hello(){ std::cout << 阅读全文
posted @ 2012-04-08 23:49
KingsLanding
阅读(67766)
评论(8)
推荐(8)
摘要:
C++11从去年开始接触的,首先接触的是boost,在VS2010上玩了一下,但是没有看太多。后面接触到C++11,第一个下载的资料室Scott Myers 的overview of C++0x,之后九月份C++11出了新标准,我下载了ISOICE14882 C++11的pdf,感觉看不懂,也没有太多时间研究这个,于是也就是当资料查查了。从去年末很多网络上的朋友都有在发一些C++11的文章,我也开始学习他们发的博客,然后结合自己的理解和上面提到的资料还有几个网站来学习,我这些程序都是在VC11下编译通过的。总共有几个部分:tuple,正则表达式,lambda表达式,多线程。我都是先写在wo.. 阅读全文
posted @ 2012-04-08 23:37
KingsLanding
阅读(2913)
评论(3)
推荐(1)
摘要:
下面一个例子将进行年月日格式的转换,将DD-MM-YYYY –> YYYY-MM-DD,其中‘.’或者‘/’都能正确识别。#include <regex>#include <iostream>#include <string>std::string format_date(const std::string& date){ // regular expression const std:: regex pattern("(\\d{1,2})(\\.|-|/)(\\d{1,2})(\\.|-|/)(\\d{4})"); // 阅读全文
posted @ 2012-04-08 23:27
KingsLanding
阅读(7194)
评论(0)
推荐(0)
摘要:
下面来介绍和regex_match()很像的regex_search()的使用实例,regex_match()要求正则表达式必须与模式串完全匹配,regex_search()只要求存在匹配项就可以。#include <regex>#include <iostream>#include <string>int main(){ const std::tr1::regex pattern("(\\w+day)"); // the source text std::string weekend = "Saturday and Sunda 阅读全文
posted @ 2012-04-08 23:16
KingsLanding
阅读(18604)
评论(3)
推荐(2)
摘要:
该实例通过一个函数is_email_valid 来检查一个email地址是否是一个正确的格式。如果格式正确则返回true。#include <regex>#include <iostream>#include <string>bool is_email_valid(const std::string& email){ const std::regex pattern("(\\w+)(\\.|_)?(\\w*)@(\\w+)(\\.(\\w+))+"); return std::regex_match(email, pattern) 阅读全文
posted @ 2012-04-08 23:07
KingsLanding
阅读(45910)
评论(4)
推荐(6)
摘要:
C++11开始支持正则表达式,使得处理文本更加简洁方便。C++11 支持六种正则表达式语法:ECMAScript, basic(POSIX Basic Regular Expressions), extended(POSIX Extended Regular Expressions ), awk(POSIX awk) , grep(POSIX grep ), egrep(POSIX grep –E)。其中ECMAScript最为强大。闲话不多说,首先来看正则表达式有哪些基本类型。basic_regex: 这是一个包含一个正则表达式的模板类。通常有两种特化方式:a) typedef basic_ 阅读全文
posted @ 2012-04-08 22:53
KingsLanding
阅读(13241)
评论(0)
推荐(0)
摘要:
tuple元组定义了一个有固定数目元素的容器,其中的每个元素类型都可以不相同,这与其他容器有着本质的区别.是对pair的泛化。首先来介绍元组的创建和元组元素的访问。通过make_tuple()创建元组,通过get<>()来访问元组的元素。通过下面这段程序来认识这两个函数的用法:#include <iostream>#include <tuple>#include <functional>int main(){ auto t1 = std::make_tuple(10, "Test", 3.14); std::cout < 阅读全文
posted @ 2012-04-08 22:50
KingsLanding
阅读(20944)
评论(1)
推荐(4)
摘要:
C++11引入了lambda表达式,使得程序员可以定义匿名函数,该函数是一次性执行的,既方便了编程,又能防止别人的访问。Lambda表达式的语法通过下图来介绍: 这里假设我们定义了一个如上图的lambda表达式。现在来介绍途中标有编号的各个部分是什么意思。Lambda表达式的引入标志,在‘[]’里面可以填入‘=’或‘&’表示该lambda表达式“捕获”(lambda表达式在一定的scope可以访问的数据)的数据时以什么方式捕获的,‘&’表示一引用的方式;‘=’表明以值传递的方式捕获,除非专门指出。Lambda表达式的参数列表Mutable 标识异常标识返回值“函数”体,也就是l 阅读全文
posted @ 2012-04-08 22:44
KingsLanding
阅读(23658)
评论(1)
推荐(2)
浙公网安备 33010602011771号