程序员怎样使用Google搜索引擎

程序员、搞科研必不可少的工具 http://cp.xqs.ch/aff.php?aff=168 校园邮箱有优惠!!! 切勿其它用途,如有问题联系博主删除。

2019-06-12 14:51:01

阅读数 282

评论数 0

C++11 std::move和std::forward

0 绪论 关于左值右值示例可看这里 1、左值和右值的概念 左值是可以放在赋值号左边可以被赋值的值;左值必须要在内存中有实体; 右值当在赋值号右边取出值赋给其他变量的值;右值可以在内存也可以在CPU寄存器。 一个对象被用作右值时,使用的是它的内容(值),被当作左值时,使用的是它的地址。 2、引...

2019-06-06 10:39:47

阅读数 24

评论数 0

泛化之美--C++11可变模版参数的妙用

https://www.cnblogs.com/qicosmos/p/4325949.html

2019-06-05 21:32:13

阅读数 22

评论数 0

C++并发与多线程编程之std::async、std::future、std::package_task、std::promise

1 std::async, std::future创建后台任务并返回值 std::sync是个函数模板,用来启动一个异步任务,启动起来一个异步任务之后,他返回一个std: :future对象, std: :future是一个类模板。什么叫“启动一个异步任务”,就是自动创建一个线程并开始执...

2019-06-05 14:53:28

阅读数 77

评论数 0

C++并发与多线程编程之condition_variable、wait、notify_one

1 std::condition_variable std::condition-variable实际上是一个类,是一个和条件相关的一个类,说白了就是等待一个条件达成。这个类是需要和互斥量来配合工作,用的时候我们要生成这个类的对象。 2 std::condition_variable::wai...

2019-06-05 14:31:17

阅读数 96

评论数 0

C++并发与多线程编程之单例模式、std::call_once()

1 单例模式 #include <iostream> #include <thread> #include <mutex> using namespace std; std::mutex mtx; class...

2019-06-05 11:00:49

阅读数 39

评论数 0

C++并发与多线程编程之unique_lock

1 unique_lock取代lock_guard unique_lock是一个类模板,比lock_guard灵活,但是占用内存大、耗时。 2 unique_lock第二个参数 2.1 std::adopt_lock lock guard可以带第二个参数,std::a...

2019-06-04 19:58:07

阅读数 36

评论数 0

C++并发与多线程编程之互斥量、死锁及解决办法

1 互斥量(mutex) 互斤量是个类对象,理解成一把锁,多个线程尝试用lock()成员来加锁这把锁头,只有一个线程能锁定成功(成的标志是lock()函数返回),加果没锁成功,那么流程卡在lcok()这里不断的尝试去锁这把锁头。互斥量使用要小心,保护封据不多也不少,少了,没达到保护效果,多了,影...

2019-06-04 18:52:00

阅读数 24

评论数 0

C++并发与多线程编程之join(),detach()

join0:加入/汇合,说白了就是阻塞,阻塞主线程,让主线程(main)等待子线程执行完毕,然后子线程和主线程汇合 ,然后主线程再往下走。如果主线程执行完毕了,但子线程没执行完毕,这种程序员是不合格的,写出来的程序也是不稳定的,一个书写良好的程序,应该是主线程等待子线程执行完毕后,自己才能最终退出...

2019-06-04 16:35:22

阅读数 28

评论数 0

有局部参数时sort()排序函数的用法

sort()函数中的比较函数必须为static函数(比较函数前面加static),否则会报错。因为:非静态成员函数是依赖于具体对象的,而std::sort这类函数是全局的,因此无法再sort中调用非静态成员函数。静态成员函数或者全局函数是不依赖于具体对象的, 可以独立访问,无须创建任何对象实例就可...

2019-05-02 10:58:27

阅读数 27

评论数 0

C++特殊成员函数实例

#include "stdafx.h" #include<iostream> #include<cstring> #include <fstream> #pragma warning( disa...

2019-04-25 15:10:18

阅读数 19

评论数 0

Git 代码托管常用指令

初始化新仓库 git init 设置签名 形目级: git config user.name git config user.@email 用户级: git config –-global user.name git config –-global user.@email 将文件添...

2019-04-13 16:44:12

阅读数 30

评论数 0

联想Thinkpad。开机先是出现“To interrupt normal startup,press Enter"

今天电脑开机时,出现下面的情况,怎么也进不去系统。经过一番努力终于找到了解决办法(缺少引导项)。 第一步:重启电脑,按F1(不同的电脑可能不太一样)进入setup界面 第二步:选择restart,将 OS Optimized Default 后面的Enable 改为Disabl...

2019-03-16 10:52:48

阅读数 3137

评论数 4

C++ typename的起源与用法

本文转自: http://feihu.me/blog/2014/the-origin-and-usage-of-typename/ 非常感谢这位博主通俗易懂的讲解,转载过来一起学习。 起因 近日,看到这样一行代码: typedef typename __type_traits&a...

2018-11-07 10:51:10

阅读数 47

评论数 0

数据库资料

学习数据库的时候发现了比较好的资料,在这里分享一下: https://www.bilibili.com/video/av29219646    视频 https://zhangjia.tv/682.html                            文档...

2018-11-01 13:57:22

阅读数 72

评论数 0

C++ 仿函数

  先考虑一个简单的例子:假设有一个vector<string>,你的任务是统计长度小于5的string的个数,如果使用count_if函数的话,你的代码可能长成这样: bool LengthIsLessThanFive(const string&...

2018-10-29 12:01:43

阅读数 32

评论数 0

Head First 设计模式(C++实现):组合模式:Compisite

组合模式:允许你将对象组成树形结构来表现“整体/部分”的层次结构。组合能让客户以一致性的方式处理个别对象和对象组合。 类图如下: 更为形象的表示如下: 代码如下: /*MenuComponent.h*/ #pragma once #include "Unsupp...

2018-10-18 15:00:01

阅读数 52

评论数 0

Head First 设计模式(C++实现):迭代器模式1:Iterator

迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而不暴露其内部的表示。 迭代器模式的类图如下:(图片摘自Head First 设计模式) 代码实现如下: /*MenuItem.h*/ #pragma once #include <string&a...

2018-10-17 20:18:19

阅读数 50

评论数 0

Head First 设计模式(C++实现):单例模式:Singleton

  单例模式:确保一个类只有一个实例,并提供一个全局访问点 1 .经典单例模式实现   我们都很清楚一个简单的单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实例的动作由一个public的...

2018-10-11 10:15:49

阅读数 17

评论数 0

岛屿的个数

给定一个由 '1'(陆地)和 '0'(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。 示例 1: 输入: 11110 11010 11000 00000 输出: 1 示例 2: 输入: 1...

2018-09-09 15:29:02

阅读数 166

评论数 0

提示
确定要删除当前文章?
取消 删除