C/C++基础知识
文章平均质量分 72
LaugustusJ
一只小菜鸟
展开
-
K8S YAML文件
以下几个例子包括三个模板:ConfigMap、Deployment、Service,ConfigMap是用来添加程序启动配置文件的,Deployment定义容器主程序(包括镜像、挂载文件、容器内所用端口等),Service定义了容器端口映射,其中 targetPort 指定容器内与宿主机间端口映射关系, nodePort 指定与宿主机外网间的端口映射关系。例子1:里边涉及到配置文件映射、文件夹映射、端口映射apiVersion: v1kind: ConfigMapmetadata: n.原创 2020-09-25 16:09:43 · 604 阅读 · 0 评论 -
C++中的适配器概念
转自:https://blog.csdn.net/LCL_data/article/details/8780140解决的问题:适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。比如说我的hp笔记本,美国产品,人家美国的电压是110V的,而我们中国的电压是220V,要在中国能使用,必须找个变压器转一下电压才可以。这个变压器就是...转载 2018-09-11 15:27:15 · 3234 阅读 · 1 评论 -
C++中的char、signed char、unsigned char
转自:https://blog.csdn.net/sinat_20265495/article/details/51733015一、问题的提出今天有一个困扰的问题,就是char与signed char, unsigned char这三者的区别。二、三者之间关系1.ANSI C 提供了3种字符类型,分别是char、signed char、unsigned char。而不是像short...转载 2018-08-21 10:38:56 · 13008 阅读 · 0 评论 -
C++中派生类对基类成员的三种访问规则
转自:https://blog.csdn.net/snowsnowsnow1991/article/details/52431299C++中派生类对基类成员的访问形式主要有以下两种:1、内部访问:由派生类中新增成员对基类继承来的成员的访问。2、对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问。今天给大家介绍在3中继承方式下,派生类对基类成员的访问规则。 1、私有继承的...转载 2018-08-26 21:51:03 · 841 阅读 · 0 评论 -
C++的map与hash_map
转自:https://blog.csdn.net/txl199106/article/details/510747910 为什么需要hash_map 用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改: 岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人...转载 2018-08-16 18:40:04 · 213 阅读 · 0 评论 -
C++中的宏定义与MFC中的预处理器
一、C++中的宏定义C/C++编译系统编译程序的过程为预处理、编译、链接。预处理器是在程序源文件被编译之前根据预处理指令对程序源文件进行处理的程序。预处理器指令以#号开头标识,末尾不包含分号。预处理命令不是C/C++语言本身的组成部分,不能直接对它们进行编译和链接。C/C++语言的一个重要功能是可以使用预处理指令和具有预处理的功能。C/C++提供的预处理功能主要有文件包含、宏替换、条件编译等。...原创 2018-08-06 16:06:40 · 1758 阅读 · 0 评论 -
C++map容器插入数据的4种方法
转自:https://blog.csdn.net/cbnotes/article/details/76594435在构造map容器后,我们就可以往里面插入数据了。这里讲四种插入数据的方法:第一种:用insert函数插入pair数据:在VC下请加入这条语句,屏蔽4786警告 #pragma warning (disable:4786) ) map<int, string> mapS...转载 2018-07-15 12:27:44 · 21349 阅读 · 0 评论 -
C/C++中快速分割字符串函数------strtok()
转自:https://blog.csdn.net/hgj125073/article/details/8447605【FROM MSDN && 百科】原型: char *strtok(char *s, const char *delim);#include<string.h>分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。strtok()用来将字符...转载 2018-07-05 10:01:29 · 566 阅读 · 0 评论 -
VS中用C++输出垂直方向文字
1、创建垂直走向的字体转自:https://blog.csdn.net/wxb1553725576/article/details/17104781今天实验课需要用到文字竖排的功能,在网上找了一下资料,自己也总结了一下。得到两种方法。方法一:利用CFont类实现文字竖排 CFont font; VERIFY(font.CreateFont( 12, ...原创 2018-07-17 16:07:18 · 2881 阅读 · 0 评论 -
条件编译-----#if #else #endif #ifdef #ifudef
转自:https://blog.csdn.net/qq_33658067/article/details/79443014本文主要介绍c语言中条件编译相关的预编译指令,包括 #define、#undef、#ifdef、#ifndef、#if、#elif、#else、#endif、defined。#define 定义一个预处理宏#undef 取消宏的定义...转载 2018-07-04 09:34:28 · 12853 阅读 · 0 评论 -
获取文件日期
1、C++获取文件日期转自:https://zhidao.baidu.com/question/576474814.html其他文章:https://blog.csdn.net/qq2399431200/article/details/11878611如果是windows平台,使用如下API:HANDLE WINAPI FindFirstFile(__in LPCTSTR lpFileName, ...转载 2018-06-17 22:57:47 · 1560 阅读 · 0 评论 -
读ANSI、UTF-8、UTF-16文本文件
读ANSI正常读取时就可以,下面重点说读UTF-8、UTF-16BOM(Byte Order Mark),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码。UTF-8 BOM:0xEF、0xBB、0xBF,UTF-8 不需要 BOM 来表明字节顺序,但可以用 BOM 来表明编码方式。字符 "Zero Width No-Break Space" 的 ...原创 2018-06-17 21:19:42 · 1736 阅读 · 0 评论 -
C++/MFC两种方法遍历指定文件或文件夹
转自:https://blog.csdn.net/m_buddy/article/details/539102421、C++方法此代码是基于win32平台定义的两个成员变量private: std::vector<std::string> filepath; //保存图像数据的位置信息 char m_szInitDir[1000]; ...转载 2018-06-07 15:04:55 · 649 阅读 · 0 评论 -
MFC对Word操作
1、导入Word类库参考:https://blog.csdn.net/hhhh63/article/details/76526962、对Word操作直接使用类库对Word操作:文本输出:https://blog.csdn.net/anqier0468/article/details/50525811涉及表格输出部分:https://blog.csdn.net/wang_lich...原创 2018-06-13 18:18:51 · 1265 阅读 · 1 评论 -
获取指定文件的文件大小
1、VC++实现获取文件占用空间大小的两种方法(非文件大小)转自:https://www.cnblogs.com/hwangbae/archive/2012/07/21/2602592.html是用API函数实现的写一个工具正好需要用到获取文件在磁盘上占用空间的大小,先普及一下知识吧首先说一下“文件大小”和“占用空间”的区别,文件大小是指文件自身的大小,不管这个文件放在哪里大小都不会发生改变,而占...转载 2018-06-13 16:03:41 · 1044 阅读 · 0 评论 -
C++中迭代器的分类
转自:https://blog.csdn.net/sim_szm/article/details/8980879 迭代器定义了常用的操作集,但有些迭代器具有比其他迭代器更强大的功能。例如ostream_iterator只支持自曾、解引用和复制运算,而vector容器提供的迭代器除了这些运算,还支持自减、关系和算数运算。因此,迭代器可根据所提供的操作集进行分类。类似地,还可根据算法要求它的迭代器...转载 2018-09-11 15:53:04 · 1987 阅读 · 0 评论 -
C++中虚继承的作用及底层实现原理
转自:https://blog.csdn.net/bxw1992/article/details/77726390虚继承和虚函数是完全无相关的两个概念。虚继承是解决C++多重继承问题的一种手段,从不同途径继承来的同一基类,会在子类中存在多份拷贝。这将存在两个问题:其一,浪费存储空间;第二,存在二义性问题,通常可以将派生类对象的地址赋值给基类对象,实现的具体方式是,将基类指针指向继承类(继承...转载 2018-10-05 10:14:27 · 588 阅读 · 0 评论 -
C++中实现防止一个类被其他类继承
如何在防止一个类被其他的类继承呢?如果是仅仅为了达到这个目的可以直接把这个类的构造函数设置成私有的,这样就杜绝了其他类的继承。也相当于毁掉了这个类(无法再创造出自己的对象)。那么怎么样既要保证这个类的完整性,又防止其他类的继承呢?这就要借助友元来实现,因为友元是不可以被继承的。如果一个类的构造函数要借助它的友元类,那么继承了这个类的类就无法构造自己的对象。从而杜绝了被继承。#in...转载 2018-10-05 10:27:55 · 556 阅读 · 0 评论 -
cmake
1、介绍cmake是一个跨平台的安装、编译工具,可以用简单的语句来描述所有平台的安装、编译过程,他能够输出各种各样的makefile或者project文件。与 CMake 所对应的文件名为 CMakeLists.txt,使用cmake命令可以根据CMakeLists.txt文件生成当前环境下的Makefile文件。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(例如在 Unix...原创 2019-09-24 09:28:27 · 388 阅读 · 0 评论 -
Windows的dll、lib、obj与Linux的.a、.so、.o
一篇关于Windows、Linux编译中间文件、静态库、动态库的十分好的文章里边有windows、linux编译连接过程,说明了中间文件、静态库、动态库之间的联系、区别,最后还有Linux下静态库、动态库的编译、使用例子https://www.cnblogs.com/ziyunlong/p/6023121.html...原创 2019-03-06 10:45:49 · 315 阅读 · 0 评论 -
条件编译用法汇总
#define 定义一个预处理宏#undef 取消宏的定义#if 预编译处理的条件判断,相当于C语言中if语句#ifdef 判断某个宏是否被定义,若宏已经被定义,则执行后边的语句#ifndef 与#ifdef相反,判断某个宏是否没有被定义#elif 与#if、#ifdef、#if...原创 2019-03-06 10:37:49 · 238 阅读 · 0 评论 -
QRegExp-正则表达式
正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', 'abbbbbbbbbb' 都符合这个特征正则表达式可以用来:(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。(2)用来查找字符串,从一个长的...转载 2019-03-06 09:58:09 · 269 阅读 · 0 评论 -
C++程序中的三种编码
参考文章:https://www.cnblogs.com/gtarcoder/p/4979017.html程序中的编码分类:1.程序源文件编码 程序源文件编码是指保存程序源文件内容所使用的编码方案,该编码方案可在保存文件的时候自定义。 通常在简体中文windows环境下,各种编辑器(包括visual studio)新建文件缺省编码都是GB18030,所以不特别指定的话,...原创 2019-02-21 09:07:14 · 1621 阅读 · 0 评论 -
C++中override关键字
本文转自:https://blog.csdn.net/xiaoheibaqi/article/details/51272009override关键字作用: 如果派生类在虚函数声明时使用了override描述符,那么该函数必须重载其基类中的同名函数,否则代码将无法通过编译。 举例子说明 struct Base { virtual void Turing() = 0; ...转载 2019-03-05 15:36:10 · 593 阅读 · 0 评论 -
宏的三种不常用用用法
define不带参数在编译预处理阶段,直接进行简单的替换,这称为“宏代换”或“宏展开”例子:#define M (a+b)define带参数c语言允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数。对带参数的宏,在调用中,不仅要宏展开,而且要用实参去代换形参。例子:#define MAX(a,b) (a > b ? a : b)上述两条选自:h...原创 2019-03-05 10:08:24 · 235 阅读 · 0 评论 -
C++中seekg、seekp失效问题
对于seekg、seekp两个函数当file.eof()=1的时候seekg就不好用了,当file.eof()=0的时候seekg是好用的。这个时候必须调用clear函数才可以详细分析:https://blog.csdn.net/stpeace/article/details/40693951...原创 2019-01-16 16:29:22 · 1475 阅读 · 0 评论 -
程序中动态、静态两种方式加载DLL
在程序使用Dll有两个加载方式:一种是动态方式,就是LoadLibrary载入Dll,然后用GetProcAddress来加载需要使用的Dll函数。另一种就是静态连接方式,将dll生成的lib,加入到工程中,然后就可以很方便的调用。但是很多dll在发布时不提供lib,没有lib我们就不能静态的加载,所以得想办法来生成一个lib,在vs2005中有这样的一个命令,不过我们还需要一个def文件...原创 2019-01-16 14:42:25 · 664 阅读 · 0 评论 -
C、C++中出现nan、inf原因
在数据处理输入输出时,极有可能遇到数据读入空值(极大、极小)、运算中分母为0或0.0,对0取对数等操作,这将产生nan或inf的产生。这篇博文旨在分析C/C++产生nan和inf的操作及判断是否有nan或inf产生。NAN的产生原因nan: not a number,表示“无效数字”。1、对负数开方,如:−1.0‾‾‾‾‾√; 2、对负数求对数,如:log(−1.0); 3、0.0...原创 2019-01-17 16:41:00 · 36953 阅读 · 1 评论 -
C++中reinterpret_cast、static_cast、dynamic_cast、const_cast四种转换区别
四种介绍以下的文章摘自:https://www.cnblogs.com/welfare/articles/336091.htmlQ:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使...原创 2018-11-23 15:19:31 · 279 阅读 · 0 评论 -
C++中内存的分配,new(delete)与malloc(free)区别
C++的内存分配https://www.cnblogs.com/lyl-312/p/5528892.html内存管理是我们在编程时经常遇到的问题,而关于内存管理的问题往往会导致我们无从下手,这篇随笔是我阅读《高质量C++》第7章“内存管理”时一些总结。1.内存分配方式在C++中内存分为5个区,分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。堆:堆是操作系统中的术语,是操...转载 2018-11-12 15:30:31 · 484 阅读 · 0 评论 -
C++define宏的边际效应
const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应)举例说明#define MIN(a, b) a > b ? b : a这句宏定义就会带来意想不到的问题,比如我在这样使用时:num = b + MIN(num1, num2);num的值一直是num1...原创 2018-11-08 14:55:29 · 1956 阅读 · 0 评论 -
C++中的dynamic_cast、static_cast转换区别
转自:https://blog.csdn.net/qq_26849233/article/details/62218385一、static_cast关键字(编译时类型检查),简而言之主要用于除基本转换外的转换用法:static_cast < type-id > ( expression ),该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的...转载 2018-10-29 17:06:56 · 243 阅读 · 0 评论 -
vs对话框去掉标题、边框
转自:https://blog.csdn.net/visualeleven/article/details/19543391if(dlg.GetSafeHwnd()) { dlg.ModifyStyle(WS_CAPTION, 0); // 去掉标题栏 dlg.ModifyStyleEx(WS_EX_DLGMODALFRAME, 0); // 去掉边框 dl...转载 2018-06-20 22:45:47 · 1860 阅读 · 0 评论 -
STL容器
转自:https://blog.csdn.net/gogokongyin/article/details/51206225迭代器与指针的差别:迭代器: (1)迭代器不是指针,是类模板,表现的像指针。他只是模拟了指针的一些功能,通过重载了指针的一些操作符,->,*,++ --等封装了指针,是一个“可遍历STL( Standard Template Library)容器内全部或部分元素...转载 2018-05-28 22:32:43 · 95 阅读 · 0 评论 -
new二维数组
定义二维数组char array[x][y];1.只定义个一维的就可以了char *array;array = new char[x*y];访问的时候*(array+i*y+j)表示array[i][j]2.定义一个二维数组char **array1array1 = new char *[x];for(i=0;i<x;++i)array1[i] = new char[y];用的原创 2017-10-12 21:41:14 · 277 阅读 · 0 评论 -
函数左括号到右括号跳转
Ctrl键+]键原创 2017-10-13 14:50:28 · 1716 阅读 · 0 评论 -
类的大小/字节对齐
最近在复习c++的一些基础,感觉这篇文章很不错,转载来,大家看看!类所占内存的大小是由成员变量(静态变量除外)决定的,成员函数(这是笼统的说,后面会细说)是不计算在内的。摘抄部分:成员函数还是以一般的函数一样的存在。a.fun()是通过fun(a.this)来调用的。所谓成员函数只是在名义上是类里的。其实成员函数的大小不在类的对象里面,同一个类的多个对象共享函数代码。而我们访问转载 2017-10-23 09:57:11 · 1096 阅读 · 1 评论 -
strlen与sizeof区别
char str[20]="0123456789"; int a=strlen(str); /*a=10;strlen 计算字符串的长度,以\0'为字符串结束标记。 int b=sizeof(str); /*b=20;sizeof 计算的则是分配的数组str[20] 所占的内存空间的大小,不受里面存储的内容影响==================================转载 2017-10-25 21:23:21 · 122 阅读 · 0 评论 -
fseek
int fseek(FILE *stream, long offset, int fromwhere);函数设置文件指针stream的位置。函数 ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置。seek(f,0,SEEK_SET) 移到开头原创 2017-11-01 21:29:15 · 360 阅读 · 0 评论 -
c++ 自带string类 的对象 字符串结尾带不带‘0’?
c语言用char*指针作为字符串时,在读取字符串时需要一个特殊字符0来标记指针的结束位置,也就是通常认为的字符串结束标记。而c++语言则是面向对象的,长度信息直接被存储在了对象的成员中,读取字符串可以直接根据这个长度来读取,所以就没必要需要结束标记了。而且结束标记也不利于读取字符串中夹杂0字符的字符串。参照std::string的实现 bits/basic_string.hst转载 2017-11-14 10:05:20 · 1968 阅读 · 0 评论