
C++
揽星逐月酒微醺
共勉。
展开
-
c++ const unsigned char* 转化为string
const unsigned char* 转化为string原创 2023-03-13 16:38:19 · 2721 阅读 · 1 评论 -
格式化时间转化为时间戳
格式化时间转为时间戳原创 2023-01-12 11:01:38 · 542 阅读 · 0 评论 -
git clone:The remote end hung up unexpectedly
在git clone时经常会遇到 early EOF这种错误:一般出现这种错误的原因是目标仓库太大了。尝试增加git的缓存大小。最后为git添加compression配置选项解决了问题。compression 是压缩的意思,取值为 [-1, 9],-1 以 zlib 为默认压缩库,0 表示不进行压缩,1~9 是压缩速度与最终获得文件大小的不同程度的权衡,数字越大,压缩越慢,最后得到的文件会越小。额外配置可选项:可以配置git的最低速和最低速时间原创 2022-10-19 10:25:30 · 3917 阅读 · 0 评论 -
动态库链接静态库(实现单例方法)出现多个实例
动态库链接静态库,出现多个实例对象.原创 2022-09-16 15:42:30 · 847 阅读 · 0 评论 -
VirtualBox全屏切换
在安装增强功能后仍然不能全屏铺满可以参考如下方法:切换到全屏模式:Ctrl + F切换到无缝模式:Ctrl + L切换到比例模式:Ctrl + C显示控制菜单 :Ctrl + Home记住,一定是右边的 Ctrl原创 2021-12-13 17:34:35 · 1957 阅读 · 0 评论 -
Ubuntu20.04如何安装低版本GCC5.4
参考文献:Ubuntu20.04如何安装低版本GCC5.4 - 简书转载 2021-11-26 14:33:05 · 873 阅读 · 0 评论 -
Ubuntu 20.04 安装g++5
1.修改源:sudo vim /etc/apt/sources.list2.在文件末尾添加如下参数:deb mirrors.dotsrc.org xenial maindeb mirrors.dotsrc.org xenial universe3.ubuntu 更新 sudo apt update4.安装sudo apt install g++-5 gcc-55.替换 cd /usr/bin/ sud...原创 2021-10-22 19:35:13 · 995 阅读 · 0 评论 -
c++ 流格式控制符处理
添加头文件#include <iomanip>使用控制符控制输出格式 控制符 作用 dec 设置整数的基数为10 hex 设置整数的基数为16 oct 设置整数的基数为8 setbase(n) 设置整数的基数为n(n只能是16,10,8之一) setfill(c)原创 2021-09-26 20:39:32 · 1029 阅读 · 0 评论 -
c++插件机制下链接静态库未使用函数失败
不多说了,直接给你们!链接:https://pan.baidu.com/s/1qUSOR8biBTm_dHl_IINblA提取码: 50kt土豪可以免费评论一波,免费B送了~PR教程有两份,自行下载或者保存链接:https://pan.baidu.com/s/1OXkAXOUUadHhFsbhayrMVA提取码: t6l9链接:https://pan.baidu.com/s/1H9E8K...转载 2021-09-01 20:08:17 · 562 阅读 · 0 评论 -
C++11中的时间库std::chrono
前言时间是宝贵的,我们无时无刻不在和时间打交道,这个任务明天下班前截止,你点的外卖还有5分钟才能送到,那个程序已经运行了整整48个小时,既然时间和我们联系这么紧密,我们总要定义一些术语来描述它,像前面说到的明天下班前、5分钟、48个小时都是对时间的描述,程序代码构建的程序世界也需要定义一些术语来描述时间。今天要总结学习的是 std::chrono 库,它是 C++11 标准时从 boost 库中引入的,其实在 C++ 中还有一种 C 语言风格的时间管理体系,像我们常见的函数 time()、clo转载 2021-01-21 16:35:47 · 2360 阅读 · 0 评论 -
Ubuntu 16.04下安装常用软件的记录
1.安装Audacity$ sudo apt-get install python-software-properties$ sudo add-apt-repository ppa:audacity-team/daily$ sudo apt-get update$ sudo apt-get install audacity2.安装Sublime Text 3#安装GPGwget -qO - https://download.sublimetext.com/sublimehq-pu.原创 2020-11-25 10:31:27 · 235 阅读 · 0 评论 -
[c++11]多线程编程(二)——理解线程类的构造函数
原文地址:https://segmentfault.com/a/1190000016186741c++ 多线程 c++11 发布于 2018-08-29构造函数的参数std::thread类的构造函数是使用可变参数模板实现的,也就是说,可以传递任意个参数,第一个参数是线程的入口函数,而后面的若干个参数是该函数的参数。第一参数的类型并不是c语言中的函数指针(c语言传递函数都是使用函数指针),在c++11中,增加了可调用对象(Callable Objects)的概念,总的来说,可调用转载 2020-11-03 16:56:21 · 289 阅读 · 0 评论 -
使用linux 文本编辑器(gedit)打开文件中文出现乱码
缺省配置下,用Ubuntu的文本编辑器(gedit)打开GB18030(繁体中文用户可将GB18030替换成BIG5或BIG5-HKSCS)类型的中文编码文本文件时会发生乱码。这是因为gedit使用一个编码匹配列表,只有在这个列表中的编码才会进行匹配,不在这个列表中的编码将显示为乱码。您要做的就是将 GB18030 加入这个匹配列表。Gedit 3.x版本设置(适用于Ubuntu 11.10及以后)安装dconf-editor: sudo apt-get install dconf-tools.转载 2020-05-15 17:05:17 · 1393 阅读 · 0 评论 -
解决编译时内存不足 c++: internal compiler error: Killed (program cc1plus)
解决方案sudo dd if=/dev/zero of=/swapfile bs=64M count=16 sudo mkswap /swapfile sudo swapon /swapfile编译后使用以下命令还原掉交换sudo swapoff /swapfile sudo rm /swapfile原创 2020-04-22 11:28:46 · 435 阅读 · 0 评论 -
ubuntu 14.04更新cmake 版本
卸载默认的版本:sudo apt-get autoremove cmake下载需要的版本:wget https://cmake.org/files/v3.13/cmake-3.13.0-Linux-x86_64.tar.gz解压:tar -xzvf cmake-3.13.0-Linux-x86_64.tar.gz# 解压出来的包,将其放在 /opt 目录下,其他目录也可...原创 2020-02-26 11:12:34 · 264 阅读 · 0 评论 -
ubuntu系统配置gerrit key
在使用git下载或者提交代码时出现 fatal: Could not read from remote repository 这个错误,可以参考如下方式配置ssh key。1.将本地生成的 id_rsa以及id_rsa.pub这两个文件删除掉2.使用命令 ssh-keygen -t rsa -C "邮箱地址"重新生成密钥3.将id_rsa.pub文件里的内容复制到 git 的SSH k...原创 2020-02-03 11:06:34 · 617 阅读 · 0 评论 -
基于boost xpressive库做的中英字符混合匹配
引子:正则表达式的构造摘要构造 匹配字符x 字符 x\\ 反斜线字符\0n 带有八进制值 0 的字符 n (0 <= n <= 7)\0nn 带有八进制值 0 的字符 nn (0 <= n <= 7)\0mnn 带有八进制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7)\xhh 带有十六进制值 ...原创 2019-12-03 18:18:37 · 254 阅读 · 0 评论 -
接口类编译时提示未定义错误:undefined reference to `typeinfo for
先贴出错误:../libs/******/libsp***.so: undefined reference to `typeinfo for Base'../libs******/libsp***.so: undefined reference to `Base::~Base()'../libs******/libsp***.so: undefined reference to `vtab...原创 2019-11-27 14:24:49 · 10076 阅读 · 0 评论 -
UTF-8编码的字符串拆分成单字、获取UTF-8字符串的字符个数的代码及原理(c++实现)
一、字符编码简单介绍1. ASCII码在计算机内部,全部的信息终于都表示为一个二进制的字符串。每个二进制位(bit)有0和1两种状态,因此八个二进制位就能够组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共能够用来表示256种不同的状态,每个状态相应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之...转载 2018-06-20 11:03:41 · 757 阅读 · 0 评论 -
autojump的安装和简单使用
autojump的安装和简单使用(环境:Ubuntu 14.04)一、autojump的安装1、安装oh-my-zsh一、sudo apt-get install zsh//第二步执行时可能会出现 密码: chsh:PAM, 手动输入 chsh -s /bin/zsh 即可解决二、wget --no-check-certificate http://install.ohmyz.sh -O - ...转载 2018-05-29 21:51:20 · 7355 阅读 · 0 评论 -
c++dynamic_cast、const_cast 、static_cast、reinterpret_cast强制类型转换
dynamic_cast: 通常在基类和派生类之间转换时使用const_cast: 主要针对const和volatile的转换static_cast: 一般的转换(no run-time check)通常,如果你不知道该用哪个,就用这个。 reinterpret_cast: 用于进行没有任何关联之间的转换,比如一个字符指针转换为一个整形数。1)stati原创 2016-12-15 15:48:45 · 223 阅读 · 0 评论 -
const关键字对C++成员函数的修饰
const对C++成员函数的修饰分为三种:1. 修饰参数;2. 修饰返回值;3. 修饰this指针。简述一下知识点如下,以后找功夫再完善。1. 对函数参数的修饰。 1)const只能用来修饰输入参数。输出型参数不能用const来修饰。 2)如果输入参数采用“指针传递”,那么加const修饰可以防止意外地改动该指针,起到保护作用。 3)如果输入参数采用“值传递”,函数将产生临时变量(局部变量)...转载 2018-07-06 14:26:32 · 162 阅读 · 0 评论 -
Boost-1.53.0 在ubuntu下编译出现./boost/atomic/atomic.hpp:166:16: error: ‘uintptr_t’ was not declared错误
在linux环境下编译出现如下错误:gcc.compile.c++ bin.v2/libs/atomic/build/gcc-4.8/release/link-static/threading-multi/lockpool.oIn file included from ./boost/atomic.hpp:12:0, from libs/atomic/src...原创 2018-09-18 17:36:17 · 3416 阅读 · 1 评论 -
Boost在ubuntu下编译:fatal error: bzlib.h: No such file or directory 的问题
log:gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-4.8/release/link-static/threading-multi/bzip2.olibs/iostreams/src/bzip2.cpp:20:56: fatal error: bzlib.h: No such file or directory #include "bzl...原创 2018-09-18 20:03:10 · 4863 阅读 · 1 评论 -
在linux下终端输出对齐问题
博客原地址:https://qsli.github.io/2018/07/11/column-view/ 比如vmstat命令, 输出歪歪扭扭的, 强迫症简直不能忍啊, 而且看个指标还得先对齐下. ➜ ~ vmstat 1 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu...转载 2019-02-27 14:17:58 · 13652 阅读 · 1 评论 -
git忽略本地已存在文件的修改
1、将文件修改忽略gitupdate-index--assume-unchangedFILENAME2、取消文件忽略gitupdate-index--no-assume-unchangedFILENAME原创 2019-04-08 20:36:56 · 4566 阅读 · 0 评论 -
git 忽略已跟踪文件的修改
$ git update-index --assume-unchanged /path/to/file #忽略跟踪$ git update-index --no-assume-unchanged /path/to/file #恢复跟踪⊙查看当前被忽略的、已经纳入版本库管理的文件:$ git ls-files -v | grep -e "^[hsmrck]"链接:https://www...转载 2019-05-08 19:36:33 · 1284 阅读 · 0 评论 -
ubuntu安装oh my zsh
默认状况下Termial样式Ubuntu系统默认状况下的终端样式如下:Ubuntu default terminal's style有个知名的神奇:Oh-My-Zsh 可以让终端及美观又实用:Oh-My-Zsh agnoster theme install powerline font今天就一步步的记录我安装Oh My Zsh 的过程安装Oh-My-Zsh安装Oh-My-Zsh之前必须安装zsh,...原创 2018-05-29 21:48:41 · 1444 阅读 · 0 评论 -
Linux环境下文件操作小结
首先说说DIR这一结构体,以下为DIR结构体的定义:struct __dirstream { void *__fd; char *__data; int __entry_data; char *__ptr; int __entry_ptr; size_t __allocation; size_t __...原创 2018-04-27 18:56:36 · 258 阅读 · 0 评论 -
常见数据结构与算法整理总结(下)
一、概述以前看到这样一句话,语言只是工具,算法才是程序设计的灵魂。的确,算法在计算机科学中的地位真的很重要,在很多大公司的笔试面试中,算法掌握程度的考察都占据了很大一部分。不管是为了面试还是自身编程能力的提升,花时间去研究常见的算法还是很有必要的。下面是自己对于算法这部分的学习总结。算法简介算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用转载 2017-09-14 11:23:44 · 183 阅读 · 0 评论 -
面试常考的常用数据结构与算法
数据结构与算法,这个部分的内容其实是十分的庞大,要想都覆盖到不太容易。在校学习阶段我们可能需要对每种结构,每种算法都学习,但是找工作笔试或者面试的时候,要在很短的时间内考察一个人这方面的能力,把每种结构和算法都问一遍不太现实。所以,实际的情况是,企业一般考察一些看起来很基本的概念和算法,或者是一些变形,然后让你去实现。也许看起来简单,但是如果真让你在纸上或者是计算机上快速地完成一个算法,并且设计测转载 2017-09-14 11:21:22 · 260 阅读 · 0 评论 -
C++程序员学习发展方向分析和指导,学习参考!
我想,如果是打算走进C++编程的同志们,请好好看完这篇文章,或许,对你的发展有所启发。但是,不要企图在这里找到你自己发展的规划和指定好的发展航向和行程。看了这篇文章,能够收到启发,受到鼓舞,也就是本文的一个成功的地方了。如果能够切实的给你指导发展方向,那更是荣幸备至。但是,每个人的兴趣都不一样,所处的环境和条件也因人而异,所以,必定会有与你不完全符合的发展方向指导。正如马克思一样,本身是好的,但是转载 2017-02-28 16:55:42 · 483 阅读 · 0 评论 -
图形界面编程成就了C++
听有人说C#、VB比C++好是因为做界面方便还算傻得可爱,听有人说用C++做数值计算而不屑于做界面可就对不起咱C++的恩人了。这我可要说道说道。想当年C++刚出江湖,名门出身,自立门派,想抢Objective C老大的位置割据一方。但名门出身的混混也还是混混,论OO不够Objective C或SmallTalk的水准,论效率没有C的干净利索,结果折腾半天没人看得起。时至今日,*nix法老们转载 2017-02-07 16:54:29 · 500 阅读 · 0 评论 -
为什么API多用C而不是C++,为什么C++程序大多不使用异常
1.为什么API多用C而不是C++以前就一直很奇怪,为什么API大都用C的方式提供,即使有C++的接口也只是把C的函数又包一层。既然大家都在用C++的编译器,为什么不直接提供C++的API?当初曾经做过一些编译C++DLL的尝试,印象中只是很麻烦,感觉像是编译器支持不好。其实,最核心的原因在于类的私有成员必须出现在头文件里。每当修改实现时,如果修改了私有成员,那么所有使用该DLL的模块都必须重转载 2017-02-07 16:50:31 · 846 阅读 · 0 评论 -
如何成为一个牛逼的C/C++程序员?
一、C/C++语言 如果你的基础很差, 建议不要一开始就学C++语言,从C开始学起,对程序有个初步的认识,循序渐进。C语言的书嘛,先买一本 300 页以内的,把书中的每一个例子都通过键盘敲打进去到 Visual studio里面去,然后单步执行,逐行调试去看各个变量的值。或者自行添加一些printf语句去输出变量的值。这样当你看完一本书后, 你就有编写小程序的感觉了。转载 2017-02-07 16:41:16 · 427 阅读 · 0 评论 -
C++中const、volatile、mutable的用法介绍
const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value值不可变。 例如:const int nValue; //nValue是co转载 2016-12-16 14:06:11 · 255 阅读 · 0 评论 -
C++动态内存与智能指针
C++常见的内存分配方式有三种:从静态存储区分配,这里主要是存储局部static对象,类的static成员以及定义在函数之外的变量;从栈内存分配,这里主要是存储函数内的非static对象;从堆内存动态分配其中,静态存储区以及栈内存中的对象,都是由编译器自动创建和销毁,而堆内存中的对象都是由程序显示控制的,通常都是new创建delete销毁或者malloc创建free销毁。动态内存的转载 2016-11-22 14:43:59 · 320 阅读 · 0 评论 -
string 对象不能为NULL,cout不能打印NULL
const char* TiXmlElement::Attribute( const char* name ) const{const TiXmlAttribute* node = attributeSet.Find( name );if ( node )return node->Value();return NULL;}string XMLProcesso原创 2016-12-01 16:07:24 · 1248 阅读 · 0 评论 -
C/C++中的multiple definition of“****”的问题
先说一下我的错误:f:/windriver/gnu/4.3.3-vxworks-6.9/lib/gcc/../../include/c++/4.3/exception:119: multiple definition of `AppCondition::getSkeletonCondition() const'根据自己知道的经验来说应该是头文件的重复包含的问题。但是翻开对应的头文件来看原创 2016-11-18 13:43:41 · 718 阅读 · 0 评论 -
模板不支持分离编译。
c++模板函数声明定义分离编译错误详解accelerated c++上简单的vector容器的实现Vec,vs2008上编译: ///// Vec.h #ifndef GUARD_VEC_H#define GUARD_VEC_H #include转载 2016-11-16 17:16:34 · 391 阅读 · 0 评论