![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 53
gripex
I don't know. I don't know.
展开
-
面试笔记-字符串反转
#include <iostream>#include <cstring>using namespace std;char *strrev1(const char * str){ const size_t length = strlen(str); char *temp = new char[length]; strcpy(temp, str); for (size_t i = 0; i < length/2; ++i)原创 2021-03-03 09:35:50 · 121 阅读 · 0 评论 -
Kafka使用笔记
Producer 与 consumer 基础使用原创 2020-10-22 15:48:27 · 53 阅读 · 0 评论 -
gdb快速定位错误位置——万恶的Segmentation fault
原文地址:https://blog.csdn.net/qq_38631503/article/details/80093855万恶的Segmentation fault(core dumped)生成core文件$ ulimit -c unlimited $ ls clion CMakeCache.txt CMakeFiles cmake_install.cmake core Makefile使用gdb调试core文件$ gdb clion core 错误片段 ...原创 2020-10-22 11:00:58 · 2616 阅读 · 1 评论 -
C++基础复习——10.3类的构造与析构函数
构造与析构的行为(调用顺序)#include <iostream>using namespace std;class Test {public: Test(int number); ~Test();private: int number_;};Test::Test(int number){ number_ = number; ...原创 2020-04-26 16:16:21 · 127 阅读 · 0 评论 -
Linux编程系列——系统和进程信息
/proc文件系统获取与进程有关的信息: /proc/PID在老版UNIX中允许特权级程序深入内核内存中的数据结构以获取内核信息, 如:1. 系统中有多少进程在运行,其属主是谁? 2. 一个进程打开多少文件?3. 目前锁定了什么文件,4. 哪些进程持有这些锁?系统正在使用什么套接字?为了提供更为简便的方法访问内核信息,许多现代UNIX实现提供了一个/proc虚拟文件系统该文件系统驻留...原创 2020-04-25 16:08:01 · 344 阅读 · 0 评论 -
Linux编程系列——gcc与动静态库基础
gcc编译流程预处理gcc -E main.c -o main.i预处理主要进行头文件展开,宏替换,去注释编译gcc -S main.i -o main.s将预处理得到的源代码文件进行“翻译转换”得到汇编文件汇编gcc -c main.s -o main.o汇编器将汇编文件翻译为二进制文件链接gcc main.o -o main链接器将函数库中相应的代码各种符号...原创 2020-04-16 16:08:27 · 149 阅读 · 0 评论 -
linux编程系列——通用的I/O模型
通用的I/O模型概述所有I/O操作的系统调用都以一个非负整数(文件描述符)指代打开的文件。文件描述符用以表示所有类型的已打开文件,包括管道(pipe)、FIFO、socket、终端、设备和普通文件。...原创 2019-10-16 16:25:56 · 193 阅读 · 0 评论 -
Linux编程系列——makefile
makefile命名Makefile or makefilemakefile规则三要素目标,依赖,命令目标: 依赖条件命令初级Makefile原创 2020-04-16 18:29:47 · 134 阅读 · 0 评论 -
C++基础——4.7指针和自由存储空间
声明和初始化指针int a = 10;int *b = &a; // 将pt的值设置为&bint *p1, p1; // 一个int类型指针p1, 和一个int类型变量p2,每个指针变量名都需要一个* 在使用常规变量时,值是指定的量,而地址为派生量。在指针策略中将地址视为指定的量,而将值视为派生量指针的危险// 在C++中创建指针时,计算机将分配用来存储地址...原创 2020-04-17 12:04:07 · 145 阅读 · 0 评论 -
C++基础模块——术语解析
接口接口是一个共享框架,供两个系统(如在计算机和打印机之间或者用户和计算机程序之间)交互使用原创 2020-04-14 11:11:55 · 145 阅读 · 0 评论 -
C++基础(8.2)——引用变量
引用变量引用变量是C++的一种复合类型,是已定义变量的别名,主要用途是做函数的参数。通过将引用做参数,函数将使用原始数据而非副本。这样除指针之外,引用也为函数处理大型大型结构提供了一种方便的途径,同时对于设计类来说,引用也是不可避免的创建引用变量int rats;int & rodents = rats; // makes rodents an alias for rats...原创 2020-04-01 14:44:20 · 160 阅读 · 0 评论 -
数据结构——绪论
什么是数据结构(datastructure)数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科(维基百科:数据结构是计算机中存储,组织数据的方式)基本概念和术语逻辑结构是指数据对象中数据元素之间的相互关系物理结构是指数据对象的逻辑结构在计算机中存储形式抽象数据类型的表示与实现算法和算法分析...原创 2020-03-31 21:47:22 · 131 阅读 · 0 评论 -
C++基础(9.3)——名称空间(namespace)
名称空间(namespace)声明区域(declaration region)声明区域是可以在其中进行声明的区域。例如,可以在函数外面声明全局变量,对于这种变量,其声明区域为其声明所在的文件。对于在函数中声明的变量,其声明区域为其声明所在的代码块。潜在作用域(potential scope)变量的潜在作用域从声明点开始,到其声明区域的结尾。因此潜在作用域比声明区域小,这是由于变量必须定义...原创 2020-03-31 12:51:40 · 200 阅读 · 0 评论 -
C++基础(4.4-4.5)——struct&union
structstruct StructName { int attribute_1; char attribute_2[20]; double attribute_3;};/* 声明 */struct StructName s1;StructName s2; /* C++允许在声明结构变量时省略关键struct *//* 初始化 */struct StructName {...原创 2020-03-27 16:38:33 · 139 阅读 · 0 评论 -
C++基础——4.6enum枚举
enumenum提供了另一种创建符号常量的方式,这种方式可以代替const。还允许定义新类型,但必须按严格的限制进行枚举定义与赋值enum spectrum {red, black, orange, yellow, green, blue};/* 1. 在不强制类型转换的情况下,只能将定义枚举时使用的枚举量赋值给这种枚举变量*/spectrum sp1 = red; /* valid...原创 2020-03-27 15:27:34 · 313 阅读 · 0 评论 -
C++基础——15.3异常
C++异常 abnormal基本语法void run() { if (error) { throw; }}int main(){ try { /* 执行代码 */ run(); } catch (int e) { 处理异常 or throw 继续抛出 } catch (...) { 未知异常 } return 0;}...原创 2020-03-26 00:04:53 · 112 阅读 · 0 评论 -
C++基础——类型转换
C++ type convertionC风格强制类型转换 Type a = (Type) a;C++风格强制类型转换1. static_cast 静态类型转换/* C语言中,隐式类型转换的地方, 均可使用静态类型转换 *//* 使用static_cast时,编译器会做类型检查*/double a = 12.3;int b = static_cast<int>(a);...原创 2020-03-25 23:21:53 · 108 阅读 · 0 评论 -
C++基础——标准库
stringvector原创 2020-03-25 16:09:58 · 141 阅读 · 0 评论 -
C++标准库——string
string初始化string name_1;string name_2("LiueDeHua");string name_3(name_2);string name_4(5, 'l');// 在C++中这种方法是不太好的,因为会先调用默认的构造函数初始化name, 然后进行赋值string name = "LiuDeHua"; cin && getli...原创 2020-01-15 09:54:43 · 196 阅读 · 2 评论 -
c++基础——运算符
位运算符位与运算符 (&)对参与运算的两数的二进制形式(补码形式)进行位与,对应的两个二进制位均为1时, 结果为1,否则为0int a = 2; // 补码: 00000010int b = 1; // 补码: 00000001int c = 3; // 补码: 00000011// a & b 进行补码与操作cout << (a & b) ...原创 2019-12-16 10:17:34 · 200 阅读 · 0 评论 -
C风格字符串与string
字符串是存储在内存的连续字节中的一系列字符。C风格字符串 (C-style string)C风格字符串的特殊性质, 以空字符(\0, ASICC码为0, 实际上是在内存中被设置为0的字节, 在内存中很常见)标记结尾char one[3] = {'a', 'b', 'c'}; // not a stringprintf("%s\n", one); // 使用字符串处理函数例如printf, ...原创 2019-12-06 10:41:59 · 211 阅读 · 0 评论 -
redisclient安装与使用
https://blog.csdn.net/feinifi/article/details/87857477原创 2019-12-05 11:09:32 · 693 阅读 · 0 评论 -
智能指针
std::auto_ptr1988年修订的第一版C++标准只提供了一种智能指针:auto_ptr。它通过地址访问一个动态分配的对象。 要求在初始化的时候,传给它一个由new操作符返回的对象的地址,在析构的时候调用delete操作符来自动释放所包含的对象。...原创 2019-12-03 21:38:14 · 76 阅读 · 0 评论 -
Linux安装boost库
下载boost库 https://www.boost.org解压 & 切换到解压目录run ./bootstrap.sh./b2 --without-python stage debug将生成的include文件与lib文件拷贝到系统目录cp -rf boost /usr/includecp -rf stage/lib/* /usr/lib64...原创 2019-12-03 17:39:44 · 249 阅读 · 0 评论 -
const char *, char const *, char * const
const char *ptr定义一个指向字符常量的指针,ptr是一个指向char*类型的常量,所以不能用ptr来修改所指向的内容,*ptr的值为const,不能修改。但是ptr的声明并不意味着它指向的值实际就是一个常量,而只是意味着对ptr而言,这个值是常量。实验如下:ptr指向str,而str不是const,可以直接通过变量来修改str的值,但是却不能通过ptr指针来修改#includ...转载 2019-11-29 00:22:00 · 111 阅读 · 0 评论 -
文件读写
###文件读写三种对象流指针:1. ifstream : 文件输入流,header file 2. ofstream : 文件输出流,header file 3. fstream: 文件输入/输出流,header file 读取文件中所有内容(来自大神们的代码片段)#include <iostream>#include <fstream>#inc...原创 2019-11-27 17:19:55 · 115 阅读 · 0 评论 -
opencv error(-215)
转载地址https://blog.csdn.net/weixin_42183449/article/details/80545487转载地址https://blog.csdn.net/weixin_42183449/article/details/80545487使用opencv为图片中的人脸进行添加表情包时,出现错误:what(): /build/opencv-ytxPbe/opencv...转载 2019-11-25 17:09:21 · 1199 阅读 · 0 评论 -
C++基础——运算符重载
运算符重载#include <iostream>class Time{private: int hours; int minutes;public: Time(); Time(int h, int m = 0); void AddMin(int m); void AddHr(int h); void Reset(int...原创 2019-11-14 21:38:36 · 89 阅读 · 0 评论 -
opencv FFMpeg写视频报错 [mp4 @ 0xcb0f40] Tag mp4v/0x7634706d incompatible with output codec id '13
原文链接添加链接描述添加链接描述1. 视频结构一个视频由压缩格式(container, eg. avi, mkv…)和封装格式(codec, eg. H264, DIVX)组成.详细解释:For start, you should have an idea of just how a video file looks. Every video file in itself is a c...转载 2019-11-05 15:43:24 · 966 阅读 · 0 评论 -
Linux jsoncpp安装与使用
安装scons下载地址 http://prdownloads.sourceforge.NET/scons/scons-2.2.0.tar.gz $ wget http://prdownloads.sourceforge.NET/scons/scons-2.2.0.tar.gz $ cd scons-2.2.0 $ python setup.py install安装jsoncpp ...原创 2019-11-05 15:08:29 · 402 阅读 · 0 评论 -
C++基础复习笔记
该系列文章是C++的复习与再学习笔记,在工作的过程中因为基础的不扎实踩了许多不必要的坑,耽误了许多不必要的时间,也通过复习扎实基础为更深层次的学习提供条件. 希望对在读的您有所帮助,如果有错漏欢迎指正,一起交流学习.学习资料来源 C++ Primer Plus (第6版)和一些网络视频C++对于C函数的扩展之内联函数...原创 2019-10-31 14:49:29 · 166 阅读 · 0 评论 -
C++基础——内联(inline)函数
C++对C函数的扩展------内联函数内联函数是C++为提高程序运行速度所做的一项改进.常规函数和内联函数的主要区别不在于编写方式,而在于C++编译器如何将它们组合到程序中.程序运行时,操作系统将机器语言指令载入到内存中,因此每条指令...原创 2019-10-30 22:29:43 · 183 阅读 · 0 评论