
c++ vector的迭代器倒序遍历代码实现
c++ vector的迭代器倒序遍历代码实现 第一个元素是从end-1开始的,end指向的不是最后一个元素 for(std::vector<int>::iterator it=myvec.end()-1;it>=myvec...
c++ vector的迭代器倒序遍历代码实现 第一个元素是从end-1开始的,end指向的不是最后一个元素 for(std::vector<int>::iterator it=myvec.end()-1;it>=myvec...
c++ map拷贝赋值到另一个map, demo代码如下: #include <iostream> #include <map> using namespace std; int main() { map<st...
noncopyable类和copyable类 /* * noncopyable.h * * Created on: 2018-6-10 * Author: */ #ifndef NONCOPYABLE_H_ #define NONCOPYA...
c++标准异常 #include <exception> // std::exception 堆栈信息 获取堆栈信息,主要是使用execinfo.h中定义的几个函数. 在抛出异常之后,通过execinfo.h中定义的函数,获取堆...
问题背景 一般来说,我们使用第三方代码的时候,不可避免的会遇到异常信息。例如调用错误,库中会抛出异常。经常是由于上下文日志不足,我们只能看到catch处的日志,而不清楚异常是哪些函数调用导致。这导致定位问题比较麻烦,经常要花比较长时间去跟进...
boost::lock_guard可以说是一种比boost::unique_lock轻量级的lock, 简单一些场景可以用它就行了。 看看它的源代码也很简单: template<typename Mutex> class loc...
C/C++常为人诟病的一点是没有像Java一样的内存回收机制(GC),因而对内存的管理和访问十分容易出错。C语言作为一种相对低级和轻量级的语言,内存的使用大部分都需要程序员自己操作,如创建数组和链表等,内存访问越界、悬浮指针和野指针等问题屡...
shared_mutex即读写锁,不同与我们常用的独占式锁mutex,shared_mutex是共享与独占共存的锁,实现了读写锁的机制,即多个读线程一个写线程,通常用于对于一个共享区域的读操作比较频繁,而写操作比较少的情况。 读写锁比起mu...
boost中的mutex貌似有6种或者更多,我用过的有3中boost::mutex、boost::shared_mutex、boost::recursive_mutex,貌似还有boost::try_mutex、boost::time_mu...
1. mutex对象类 mutex类主要有两种:独占式与共享式的互斥量。 ▲ 独占式互斥量: mutex: 独占式的互斥量,是最简单最常用的一种互斥量类型 try_mutex: 它是mutex的同义词,为了与兼容以前的版本而提供 timed...