C/C++基础
介绍C/C++相关基础知识
可乐船长2020
一只头发茂盛的小码农
展开
-
CMake学习实践笔记
因为找工作的原因有些日子没写博客了,今天又要开始“创作”了,写一篇跨平台的工程构建工具CMake的学习笔记,方便以后随时查看回顾简介背景CMake是kitware公司以及一些开源开发者在开发几个工具套件(VTK)过程的衍生品,最终形成体系,成为一个独立的开源项目,项目诞生于2001年,其官网是https://cmake.org/ 帮助文档是https://cmake.org/documentation/特点开源,使用BSD许可发布跨平台,可生成native编译配置文件,在Linux/Un原创 2020-11-20 11:06:08 · 240 阅读 · 0 评论 -
C++ 智能指针
这一篇介绍一下 C++ 提供的四种智能指针auto_ptrunique_ptrshare——ptrware_ptr如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢原创 2020-03-19 16:49:29 · 164 阅读 · 0 评论 -
C++ union、struct 和 class
C++ union、struct和class原创 2020-02-13 13:26:24 · 395 阅读 · 0 评论 -
C++ typedef、define、const 和 inline
这篇介绍一下 C++ 中的const和define原创 2020-02-12 21:04:57 · 281 阅读 · 0 评论 -
C++ 泛型编程
C++ 泛型编程原创 2020-02-05 16:07:26 · 265 阅读 · 0 评论 -
C++ 运算符重载
C++ 运算符重载原创 2020-02-05 16:03:02 · 158 阅读 · 0 评论 -
C++ this指针
这一篇介绍一下C++ 中的this指针原创 2020-01-31 09:57:08 · 84 阅读 · 0 评论 -
C++ 继承和封装
这篇主要介绍一下虚函数原创 2020-01-30 16:10:08 · 256 阅读 · 0 评论 -
C++ 多态与虚函数
这一篇介绍一下 C++ 面向对象的三大特征之一的多态(之前面试某大厂的实习生被问到多态,后来又了解到一些设计模式,才体会到多态的强大,在这里把我对多态的一点点浅显认识总结一下)如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢多态父类的一个指针,可以有多种执行状态(父类的指针调用子类的函数),即多态多态实际上只是一种思想,而虚函数是实现这个思想的语法基础虚函数虚表若对象有虚函数...原创 2020-01-30 15:02:18 · 140 阅读 · 0 评论 -
C++ 局部变量、全局变量和 extern
C++ 全局变量和 extern原创 2020-01-28 14:51:27 · 508 阅读 · 0 评论 -
C++ 中的 static
这一篇介绍一下C++ 中的static原创 2020-01-28 14:47:22 · 155 阅读 · 0 评论 -
C++ 类中的函数
上一篇介绍了一下类中的构造(构造和拷贝构造)和析构函数,这一篇开始介绍一下类中其他的函数如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢0. 友元函数1. 常函数2. 内联函数...原创 2020-01-23 10:25:35 · 446 阅读 · 0 评论 -
C++ 类的构造函数和析构函数
上一篇函数重载做好了铺垫,这篇就正式开始介绍类的构造函数和析构函数如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢构造函数因只有对象创建时,才会分配空间,类中非静态数据成员不能够在类内直接初始化或赋值,C++提供了构造函数对类的数据成员进行初始化,或者是赋值C++中类的默认构造函数是一个空函数,什么也不做,如果用户在类中声明了构造函数,默认构造函数就不再起作用了构造函数没有返回值,名...原创 2020-01-21 19:28:15 · 166 阅读 · 0 评论 -
C++ 函数重载
这一篇介绍一下 C++中的函数重载,为下一篇介绍类的构造函数做一下铺垫如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢函数重载不同的函数主要是通过函数返回值类型、函数名和参数列表来区别的同一作用域内,函数返回值类型、名字相同,参数列表不同(参数类型不同包括参数的顺序不同、参数个数不同)的多个函数是重载的关系void fun(); ...原创 2020-01-20 18:03:07 · 150 阅读 · 0 评论 -
C++ 类在内存中的存储方式(二)
接着上一篇继续介绍C++类在内存中的存储方式如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢3.原创 2020-01-19 19:58:32 · 431 阅读 · 3 评论 -
C++ 类在内存中的存储方式(一)
说了这么久的 C++ 终于说到类了,还是从内存出发来讨论一下 C++ 的类在内存中的存储方式(之前写过一篇内存对齐的文章,类同样在一定程度上遵循内存对齐原则,不过比结构体复杂一下)如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢0.空类class Test {};Test t0;cout << sizeof(t0) << endl;// 运行结果:1...原创 2020-01-18 21:08:45 · 1728 阅读 · 0 评论 -
C++11 的 stoi()
上一篇介绍了 “int to string” 想了想再把 “string to int” 的补上吧,这一篇就介绍一下 中的 stod() & stof() & stoi() & stol() & stold() & stoll() & stoul() & stoull() 方法如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢声明//...原创 2020-01-09 16:37:42 · 1048 阅读 · 0 评论 -
C++11 的 to_string()
看到用 Java 的朋友 “ int to string” 可以用 toString(),让我这学 C++ 的顿觉惆怅,为啥我大 C++ 没有这么好用的方法,直到昨天我才在网上看到,原来 C++11 中已经有 std::string to_string() 方法了,看来还是我太菜了,没有发现这么好用的方法,我忍不住看了一下源代码,在这里分享一下如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢...原创 2019-12-28 16:04:40 · 413 阅读 · 0 评论 -
C++ 的引用
C/C++ 一些公共的内容已经说的差不多了,从这一篇开始将主要介绍 C++ 的内容,下面主要说一下 C++ 中的引用如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢基本用法引用是已定义的变量的别名(另一个名字)变量的引用与变量指向相同的值和内存单元引用在定义的时候就要初始化,且引用不能在指向其他的变量// 基本数据类型的应用int nA = 10;int& rA = ...原创 2019-12-26 20:58:31 · 82 阅读 · 0 评论 -
C/C++内存申请和释放(二)
这一篇接着上一篇介绍一下C++中的new和delete的使用如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢newdelete原创 2019-12-25 23:10:38 · 901 阅读 · 1 评论 -
C/C++内存申请和释放(一)
这一篇主要介绍一下C中的malloc和free(当然在C++中它们也可以使用),下一篇将主要介绍一下C++中的new和delete如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢mallocfree...原创 2019-12-06 10:51:14 · 1303 阅读 · 0 评论 -
C/C++的函数
这篇介绍一下C/C++中的函数,主要是函数指针和传参相关的讨论,我又要水一篇文章了如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢函数的作用主要是为了方便代码复用0. 函数调用函数调用的本质:函数地址+(参数列表)函数名与数组名的作用类似,一个函数为 void fun(int a); 通过fun(a); 或者&fun(a); 都可以成功调用函数,也就是说函数名或者是对函数名取...原创 2019-12-05 22:24:40 · 132 阅读 · 0 评论 -
C/C++的指针
这一篇主要介绍一下C/C++中的指针,为接下来介绍C/C++内存的申请和释放做一下铺垫如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢原创 2019-12-04 15:17:30 · 124 阅读 · 0 评论 -
C/C++程序的内存分布
接着说C/C++的内存,今天来讨论一下程序在内存中的分布情况,一般说内存,指的是计算机的随机存储器(RAM),程序都是在这里运行的如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢0. 程序内存布局栈区(stack):由编译器自动分配释放,存储函数的参数值,局部变量值等,其操作方法类似于数据结构中的栈堆区(heap):一般由程序员申请和释放,与数据结构中的堆没有任何关系,分配方式类似于链...原创 2019-11-30 21:27:51 · 240 阅读 · 0 评论 -
大端存储 & 小端存储
这篇介绍一下内存中存放数据的两种模式:大端存储(或大端模式,Big-Endian) & 小端存储(或小段模式,Little-Endian),这两种存储模式在通信或者socket编程里面可能用的比较多如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢大端存储(Big-Endian)数据的高字节存储在低地址中,数据的低字节存储在高地址中如:int a = 1; // int在内...原创 2019-11-30 16:44:46 · 201 阅读 · 0 评论 -
C/C++类型转换(二)
接上篇,这篇主要介绍一下在C++11中增加的static原创 2019-11-30 16:41:16 · 104 阅读 · 0 评论 -
C/C++类型转换(一)
对于C/C++来说,基本上所有的内容都可以从内存说起,所以还是接着说C/C++内存的事,这里主要介绍一下在C/C++中使用比较多的类型转换,其实主要是C,因为C++在C++11中引入了更安全的类型转换方式,下一篇介绍。如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢C/C++中的类型转换主要分为:隐式类型转换 & 显示类型转换(即强制类型转换)隐式类型转换在C Primer Pl...原创 2019-11-27 11:24:47 · 198 阅读 · 0 评论 -
C/C++中内存对齐问题的一些理解
内存管理是C/C++编程非常重要的一部分内容,熟悉C/C++中一些常见数据结构和数据类型的内存分布情况,可以很大程度上降低了coding过程中内存泄漏和越界等比较严重的内存问题,下面主要讨论一下结构体(类中同样存在内存对齐,内存对齐会复杂一些,涉及到虚表等问题,后面介绍类的时候会提到)中的内存对齐问题。如有侵权,请联系删除,如有错误,欢迎大家指正,谢谢内存对齐指令一般来说,内存对齐过程对c...原创 2019-11-26 19:39:11 · 468 阅读 · 0 评论 -
C/C++中float & double类型数据在内存中的存储形式
我又来了,第二篇博客fighting,接着第一篇,这里讨论一下C/C++中float & double类型数据在内存中的存储方式,还是那句话如果有侵权,请联系删除,如果有错误,也欢迎大家指正,谢谢IEEE规定IEEE规定float & double类型的数据用三元组{S, E, M}表示,"S"用0和1分别表示正数和负数,尾数"M"用原码表示,阶码"E"用移码表示,还规定尾数域...原创 2019-11-25 18:50:05 · 633 阅读 · 0 评论 -
C/C++ 各数据类型占用字节数
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2019-11-25 14:57:14 · 773 阅读 · 0 评论