摘要: 对于多层三目运算符,从右往左看 切记,由于三目运算符优先级比较低,通常括号全部括起来 阅读全文
posted @ 2016-12-01 15:43 郭志凯 阅读(4698) 评论(0) 推荐(0) 编辑
摘要: 改进后 使用数组初始化向量 使用范围for语句遍历多维数组(切记,除了最底层,其他for,都需要使用引用,不加引用,auto会转化为指针) 阅读全文
posted @ 2016-11-30 14:43 郭志凯 阅读(628) 评论(0) 推荐(0) 编辑
摘要: #include #include int main() { int array[10] = {0,1,2,3,4,5,-6,-7,8,9}; int* pbeg = std::begin(array) , *pend = std::end(array); while(pbeg != pend && *pbeg >=0) { std::cou... 阅读全文
posted @ 2016-11-29 23:41 郭志凯 阅读(2630) 评论(0) 推荐(0) 编辑
摘要: begin()首迭代器,end()尾迭代器。对begin()解引用指向首元素的引用,end()解引用指向尾元素的下一个位置(不存在的地方)。 如果首位迭代器相等,则代表容器为空。对于迭代器,都有==的!=但是不一定有<,>,所有要避免使用大小于。 下面将首单次大写 迭代器类型 迭代器副作用 但凡使用 阅读全文
posted @ 2016-11-29 21:56 郭志凯 阅读(2762) 评论(0) 推荐(0) 编辑
摘要: vector初始化 string和vertor下标只能访问已经存在的元素,不能创建元素(编译不会出错,运行时出错) 下标越界编译运行都没有报错,但是已经出错 向空的vector中添加元素 统计各个分段内的人数(0-9,10-19...90-99,100) 和string一样,vector也有size 阅读全文
posted @ 2016-11-29 20:01 郭志凯 阅读(2663) 评论(0) 推荐(0) 编辑
摘要: 头文件#include <cctype> 输出包含的标点符号 将所有小写转换为大写字母 将首个单词大写 判断首字母大小写 阅读全文
posted @ 2016-11-29 17:15 郭志凯 阅读(2692) 评论(0) 推荐(0) 编辑
摘要: 使用std::cin读取string,自动从第一个非空白字符开始,直到遇到空白字符结束 输入的是 " C++是世界上最棒的语言 " 循环读取数量不定的string(还是会忽略掉开始和结束的空白) 使用getline读取string(不会忽略开始和结束的空白,从行首一直读取到换行符,包括换行符,但是不 阅读全文
posted @ 2016-11-29 16:18 郭志凯 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 包含头文件#include <thread> 介绍: thread类代表每个线程的执行。线程的执行时一系列能够同时执行的指令在相同的共享空间中同时执行。 初始化一个thread对象,代表着一个线程开始执行。这是它可以joinable,并且有一个唯一的线程ID。 一个没有被初始化(使用默认构造函数时) 阅读全文
posted @ 2016-11-28 00:31 郭志凯 阅读(2506) 评论(0) 推荐(0) 编辑
摘要: 死锁 解决死锁方法1:使mutex顺序相同 解决死锁方法2:使用std::lock 阅读全文
posted @ 2016-11-27 05:27 郭志凯 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 首先纠正以前的错误:在没有调用join()之前,线程已经运行了。 下面还是把join加上,目前这个程序输出很乱 使用基本的互斥锁,解决资源竞争,看到输出不在凌乱 改进:自动释放mu 继续优化:去掉上一个程序的缺点 阅读全文
posted @ 2016-11-27 04:43 郭志凯 阅读(314) 评论(0) 推荐(0) 编辑