C++
原我归来是少年
关注,点赞,安利
展开
-
decltype详解之指针类型的推断
decltype详解之指针类型的推断原创 2017-09-07 19:51:12 · 2020 阅读 · 0 评论 -
const详解
const详细解析const详解顶层const与底层const常量成员与常成员函数原创 2019-07-07 16:46:05 · 397 阅读 · 0 评论 -
C++ 智能指针shared_ptr/unique_ptr自定义删除器
默认情况下,智能指针使用delete释放其管理的资源,有时候,可能要修改默认使用delete释放资源的行为。本文将列出我所知道的所有自定义删除器的方法。目录零、引例一、使用函数二、使用可调用类三、使用lambda表达式四、使用std::function零、引例Connection是一个管理连接类,在释放Connection之前,我们需要调用close函数来关闭连接。观察如下代码:#incl...原创 2019-03-16 16:42:56 · 11287 阅读 · 0 评论 -
C++ 使用智能指针shared_ptr/unique_ptr管理数组
关于shared_ptr/unique_ptr的基础,我不在本篇博客中赘述。本篇博客主要关注如何安全地使用智能指针来管数组。零、要管理的类Connection是一个管理连接的类。class Connection{public: explicit Connection(string name):_name(name){ } string get_name() cons...原创 2019-03-16 16:41:46 · 10080 阅读 · 1 评论 -
C++单例模式详解
C++ 单例模式详解,懒汉式单例,饿汉式单例原创 2019-03-02 14:30:51 · 4586 阅读 · 1 评论 -
Ceres的Options详解
目录1、Ceres简介2、常用通用参数1、Ceres简介Ceres是一个非常优秀的非线性优化库(谷歌出品)。能完成很复杂的优化功能,选项也非常的多,本篇博客就来梳理下这些选项。2、常用通用参数bool Solver::Options::IsValid(string *error) const检查options是否合法,不合法的话返回false,并将错误信息存到error里面。i...原创 2018-12-08 15:38:49 · 17029 阅读 · 14 评论 -
C++ 使用lambda表达式作为函数参数
lambda表达式参考C++11 学习笔记 lambda表达式 C++中的Lambda表达式详解 Lambda expressions作为函数参数传递由于时间有限,我直接贴代码了模板参数#include <iostream>#include <string>template <typename F>void print(F cons...原创 2018-08-21 16:30:16 · 35173 阅读 · 3 评论 -
C++ 计时 C++最好用的计时器类
一、缘起做的一些项目需要计时,但是网上找到的计时博客比较老,或者互相copy,或者不跨平台。其实C++11中的chrono库,就是可以用来写计时器,跨平台,跨编译器,下面就是计时器的实现//timer.h#ifndef W_TIMER_H#define W_TIMER_H#include <iostream>#include <string>#incl...原创 2018-08-17 17:47:46 · 18279 阅读 · 1 评论 -
C++ 二维数组 在连续的空间中分配二维数组
C++ 二维数组 在连续的空间中分配二维数组原创 2018-07-03 19:47:39 · 4013 阅读 · 0 评论 -
undefined reference to `hb_font_destroy'
undefined reference to `hb_font_destroy'原创 2018-06-05 16:04:30 · 2523 阅读 · 0 评论 -
C++类的函数指针成员(有错误,待编辑)
一、函数指针基础1. C/C++ 函数指针使用总结2. C++ 函数指针取地址与取值二、类的函数指针成员前面两篇文章中提到,函数指针也是一种指针变量,因此将函数指针指向参数和返回值(也就是函数签名)相同、但实现不同的函数,通过函数指针来调用函数时,就能表现出不同的行为。通常来将,类的函数指针成员可以指向这三类函数:1. 普通函数,直接赋值,''函数指针''="函数名"。...原创 2018-04-17 12:24:06 · 349 阅读 · 0 评论 -
C++ 通过指针访问vector中的元素失效问题解决方案
C++ 通过指针访问vector中的元素失效问题解决方案原创 2018-04-16 22:21:09 · 2834 阅读 · 0 评论 -
C++ 类的析构函数
很多博客已经就析构函数作了非常详细的讨论,我在这篇博客中仅仅对发生异常时析构函数的行为做讨论。一、析构函数基础1. C++ 析构函数2. C++之类的析构函数二、程序发生异常时析构函数的行为在C++中,对资源应该使用类来管理,在构造函数中获得资源,在析构函数中释放资源。但是,当程序发生异常时(调用exit、抛出异常),析构函数是否能被正常的调用?答案是否定的。1、调用exi...原创 2018-04-16 21:23:00 · 1151 阅读 · 0 评论 -
基于标准C++实现的信号量类Semaphore
一、缘起在一个项目中,需要使用到信号量这个东东来同步我的线程,C++已经提供了标准的信号量头文件semaphore.h,那我为什么要重新实现一个呢?因为原来的信号量机制是C style的,信号量一多,整个程序就会非常的混乱,因此我基于C++的mutex和condition_variable来实现了一个自定义的信号量类。二、实现1、信号量机制简介2、实现/** * semap...原创 2018-03-28 18:07:58 · 3063 阅读 · 3 评论 -
C++ 多线程编程之在类中使用多线程(thread)的方法
一、thread的基本用法参见C++使用thread类多线程编程 。二、类外使用多线程,访问类的成员这几种方式,新建线程都是在类外,然后通过把友元函数或者成员函数作为thread参数。#include <iostream>#include <thread>#include <vector>using namespace std;cla...原创 2018-03-28 16:24:13 · 15023 阅读 · 0 评论 -
g2o简易使用指南
一、编译1、去github官网下载g2o,网址g2o2、先安装依赖项sudo apt-get install cmake libeigen3-dev libsuitesparse-dev qtdeclarative5-dev qt5-qmake libqglviewer-dev3、编译安装lapack我安装的的是clapack,是lapack的C语言版本。怎么安装有很多博客...原创 2018-01-31 12:10:52 · 1311 阅读 · 0 评论 -
c++ 把类型作为参数
c++ 把类型作为参数(通过模板来实现,其实应该叫模板参数)c++ 获取类型的字符串原创 2019-07-09 21:51:25 · 11167 阅读 · 4 评论