C/C++
文章平均质量分 86
听说西佳佳难得很
要学的有好多……
是自己的功课,在这里没有必要欺骗自己,要好好弄懂在记录的知识点。感受到孤单的时候也要向前,努力成为最完善,最有力,最强大的自己。
展开
-
4. 关于常量和变量
const的最简单的用法,是定义程序用到的数字、字符串常量,代替宏定义。和宏定义的本质区别是:const定义的常量在预处理阶段并不存在,而是直到运行阶段才会出现。所以,准确地说,它实际上是运行时的“变量”,只不过不允许修改,是“只读”变量但是既然是变量,通过使用指针地址,再强制写入也是可以的,但这种做法破坏了常量性后面需要加上:因为const常量在大多数情况下被认为是常数,在运行期间不会改变,编译器看到const定义,就会采取一些优化手段,比如把所有const常量出现的地方都替换成原始值,所以对于没有v原创 2022-06-05 15:04:16 · 109 阅读 · 0 评论 -
《C++API设计》阅读笔记1
1 API简介API(Application Programing Interface)提供了对某个问题的抽象,以及客户与解决改问题的软件组件之间进行交互的方式。组件本身通常以软件类库形式分发,它们可以在多个应用程序中使用。概括说,API定义了一些可复用的模块,使得各个模块化功能可以嵌入到最终用户的应用程序中去。 API是一个明确定义的接口,可以为其他软件提供特定服务。C++API通常会包含如下的元素:头文件:一组.h头文件,头文件定义了接口,使得客户端代码能够针对该接口进行编译 开源API还原创 2021-09-22 23:50:43 · 191 阅读 · 0 评论 -
visual studio2019创建运行第一个C++详细步骤与断点调试的简单认识
是去官网下的社区版,可以用自己的微软账号登录也不需要网上找破解版了,安装过程还是很顺利的。下面在第一次使用vs2019下创建C++项目(依次helloworld、计算器类)首先明确:在vs中是使用项目来组织代码,使用解决方案来组织项目。所以首先需要创建一个新项目和解决方案创建运行helloworld创建:打开“文件” 菜单,然后选择“新建”>“项目”在配置新项目对话框时,输入项目名称,选择创建vs就会创建新项目,默认情况下,控制台应用模板会有填充模板运行:在VS中运行若要生原创 2021-06-09 10:55:46 · 2430 阅读 · 3 评论 -
快速复习一遍C++基础知识点
暂定月计划:1实现DSA基础算法 2完成一个STL库 3在Linux上加强相关知识 4git巩固 5OJ增强代码实现能力今天先快读复习一遍C++知识点,(想把peral读完==)原创 2021-06-05 09:54:38 · 391 阅读 · 1 评论 -
回顾:C++语法点等
多态、虚函数相关封装可以使代码模块化,继承可以在原有的代码基础上扩展,它们的目的都是为了代码重用。而多态则是为了接口重用,就是说不论传递过来的是哪个类的对象,函数都能够通过同一个接口调用到适应各自对象的实现方法多态主要通过重载(静态)和重写(动态)来实现一个类如果定义了虚函数,那么编译器就会为它加上一个虚函数表,并有一个指向虚函数表的指针,子类通过继承,也会有一张虚函数表,并可以覆盖父类的虚函数当调用虚函数的时候,会调用指针,去虚函数表中找匹配的虚函数,如果当前对象有重写的虚函数就会去执行重写的虚函原创 2020-09-28 23:34:14 · 282 阅读 · 0 评论 -
回顾:内存相关(slab还没
堆、栈和静态存储区C++中,内存的分配是否合理直接影响着程序的效率和性能C++将内存划分为三个逻辑区域:堆、栈和静态存储区,其中的对象分别为堆对象、栈对象以及静态对象一、基本概念:栈,一般用于存放局部变量或对象,按值进行传递时编译器会给我们生成很多的临时对象,而生成这些临时对象的时间和空间的开销可能是很大的,所以对于“大”对象最好用const引用传递代替按值进行函数参数传递堆,又叫自由存储区,是在程序执行的过程中动态分配的,所以它的最大特性就是动态性。所有的堆对象的创建和销毁都要由程序员负责,如果原创 2020-09-28 10:41:16 · 296 阅读 · 0 评论 -
C++学习笔记13:多态、继承笔记再再再整理3
16号晚上把这部分写完,论文下载好,大致看一下 ,就开始看Linux系统编程,网络编程7+7加油呀【1】继承 继承的本质:代码复用 1.继承的访问限定? 三类继承public、protected、private继承分别: 2.派生类怎么初始化从基类继承来的成员? 通过调用基类相应的构造函数进行初始化,派生类只会初始化自己的成员 3. 构造析构的顺...原创 2020-04-16 21:47:39 · 159 阅读 · 0 评论 -
C++学习笔记12:输入输出流实例整理(文本文件读写,二进制文件读写,一组数据的文件读写,随机访问文件实例
(这也太难记了555老阔疼文件读写示例:#include <iostream>#include <string>#include <fstream>using namespace std; int main(){ string srsfname("asdfile.txt"); //定义源文件 ifstream srsfile(...原创 2020-04-16 17:14:09 · 366 阅读 · 0 评论 -
C++学习笔记11:输入输出流、(重载输入输出运算符、二进制文件读写,文本文件读写,一组数据文件的读写,随机访问实例)
输入/输出流简介C++流类库简介输入/输出流自定义类型的输入/输出文件的输入/输出输入/输出流简介C++流类库简介输入/输出流自定义类型的输入/输出文件的输入/输出...转载 2020-04-16 17:02:36 · 1611 阅读 · 0 评论 -
C++学习笔记10:异常
异常处理异常处理概述抛出异常异常捕获异常接口声明捕获所有异常未捕获异常的处理构造函数、析构函数与异常处理异常匹配标准异常及层次结构异常处理在编程时,不能忽略异常处理。处理异常的方法多种多样。错误处理代码分布在整个系统代码中,在任何可能出错的地方都进行异常处理,阅读代码时可以直接看到异常处理的情况,但是引起的代码膨胀将不可避免地使程序阅读困难。来看这样的一个问题,两个数的调和...原创 2020-04-15 18:35:04 · 486 阅读 · 0 评论 -
C++学习笔记9:用类模板的两个实例——学生成绩管理系统、银行管理系统
程序实例①用类模板实现学生成绩管理系统????将要操作的所有对象构成一个链表,链表中的每个结点元素就是一个对象。定义一个类模板Linklist,数据成员*head表示指向链表的头指针,链表中每个结点元素包含数据域data和指针域next,数据域data是T类型,指针next指向链表中下一个结点元素。成员函数Inser_Linklist表示插入一个结点元素;成员函数Get_Linklist表示返回第...原创 2020-04-15 14:37:52 · 723 阅读 · 0 评论 -
C++学习笔记8:模板
15号,模板 io流开头,论文返稿整理信息,16,io结束,异常占坑,最晚17晚开始学网络编程,加油加油,13+11 = 25天,网络编程项目,源码也要开个头模板的概念函数模板和模板函数类模板和模板类模板的概念函数重载可以实现具有相同功能的函数的函数名相同,使程序更加容易理解,系统可以更具不同的参数类型来区分函数。这样虽然方便,但是书写函数的个数并没有减少,重载函数的代码量几乎完全相同。...原创 2020-04-15 11:13:10 · 341 阅读 · 0 评论 -
cout.precision()的用法
cout.precision()其实是输出流cout的一个格式控制函数,也就是在iostream中的一个成员函数。precision()返回当前的浮点数的精度值,而cout.precision(val)其实就是在输出的时候设定输出值以新的浮点数精度值显示,即小数点后保留val位整个数的位数(包括整数部分)为val位。 。看一下下面这个例子:#include <iostream>#i...转载 2020-04-15 11:05:44 · 3342 阅读 · 0 评论 -
C++笔记7:多态笔记再整理、多态原理,关于虚函数表,C++对象的内存布局
笔记6中继承与多态都是比较基础的,也并不清楚很多原理,觉得深一点可能就不会了,可是多态又很重要,所以二一下,之后上完课再看看要不要补充个3,加油关于多态,就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图...原创 2020-04-14 23:35:02 · 289 阅读 · 0 评论 -
C++学习笔记5:继承、多态基础
组合继承继承与组合构造与析构顺序派生类重载基类函数的访问多态性&虚函数纯虚函数和抽象基类多重继承派生类成员的标识与访问组合、继承与多态性:面向对象涉及的重要目的之一就是代码重用,多态性可以以常规方式书写程序来访问多种现有的且专门化了的相关类。继承和多态是面向对象程序设计方法的最主要的特征。继承可以将一群相关的类组织起来,并共享一些相同数据和操作行为;多态使得设计者在...原创 2020-04-14 17:58:44 · 569 阅读 · 0 评论 -
C++学习笔记4:运算符重载、类型转换 ⚠ ⚠
运算符重载基本概念成员函数重载运算符单目运算符重载双目运算符重载重载++、–运算符重载赋值运算符重载下标运算符重载函数调用运算符“()”友元函数重载运算符成员函数重载运算符和友元函数重载运算符比较类型转换 运算符重载基本概念面向对象程序涉及的重载有函数重载和运算符重载。函数重载是指在相同作用域内,若干个参数特征不同的函数使用相同相同的函数名运算符重载是另一种调用函数...原创 2020-04-13 14:00:44 · 465 阅读 · 0 评论 -
C++学习笔记3:静态与名字空间
why静态静态数据成员静态成员函数静态对象类作用域及对象的生存期命名空间 whiy静态在函数体内定义一个变量时,每次函数调用时编译器会为这些内部变量分配内存, 如果这个变量有一个初始化表达式,那么每当程序运行到初始化表达式中,变量就会被初始化。如果想在两次函数调用之间保留一个变量的值,通常的做法是定义一个全局变量来解决,但是这个变量就不仅仅受这个函数的控制,从某种程度上说存在不安全因...原创 2020-04-12 11:05:28 · 492 阅读 · 0 评论 -
C++学习笔记2:函数重载、常量与引用 、拷贝构造函数 || const、调用拷贝构造函数的三种情况★★
函数重载非成员函数重载成员函数重载函数的默认参数内联函数常量与引用:const与指针const与函数const与类引用(&)拷贝构造函数函数重载当一些函数实现的是同一类功能,只是部分细节不同(比如打印整型、字符型和浮点型),C++提供了函数重载机制,将这些函数取成相同的名字,从而使程序更容易理解及使用函数重载是指两个或两个以上的函数具有相同的函数名,但参数类型不...原创 2020-04-11 23:04:55 · 484 阅读 · 0 评论 -
C++学习笔记1:类与对象、析构函数与构造函数、内存的动态分配、对象数组和对象指针、函数参数的传递机制、友元
面向对象概念类与对象构造函数和析构函数内存的动态分配★★★对象数组和对象指针函数参数的传递机制友元1. 面向对象的概念面向对象的三大特征:封装、继承、多态先学习封装,看完类和对象之后再看继承和多态:概念:C++中封装是通过类来实现的,一个类就是一个封装了数据以及对这些数据进行操作的代码的逻辑实体class Student{private: lont no; cha...原创 2020-04-10 15:22:13 · 829 阅读 · 1 评论 -
OJ
一些OJ网站:· kaggle(一个类似于机器学习的OJ网站)※ The ACM-ICPC International Collegiate Programming Contest(ACM/ICPC)ACM是一个给全世界高等院校学生参加的算法程序设计大赛,比赛目的在于考验选手临场逻辑思维和程序编写能力。ACM首先在世界各地举办初赛,然后从各个赛区选拔表现优秀的队伍,角逐世界总决赛。⑴ 西班...转载 2019-03-18 17:19:28 · 571 阅读 · 0 评论 -
笔记 |C语言知识点快速过
C语言由函数组成,有且只有一个主函数,且程序运行先从main函数开始,main函数由系统自动调用不需要人为调用;return 0 表示程序正常结束头文件包含函数的声明,使用某个函数之前需要包含相应的头文件,<>包含系统的头文件,””包含自定义的头文件函数的调用必须放在{}内部system(“”) 在一个执行文件内部执行一个外部程序,会用在Qt,MFC做图形界面调用函数C语言编...原创 2019-04-15 15:43:58 · 243 阅读 · 0 评论 -
设计模式四个原则代码实现
1. 开闭原则对增加功能开,对修改原代码闭#include<iostream>using namespace std;#if 0//不用开闭原则//计算class Caculator{public: Caculator(int a, int b, string oper) { this->m_a = a; this->m_b = b; t...原创 2019-05-18 09:42:57 · 279 阅读 · 0 评论 -
单例模式代码实现
单例模式#include <iostream>using namespace std;class A{private: A() { a = new A;//就,新对象了 }public: static A* getInstance() { return a;//对外接口,使得对象可获得 }private: static A* a; };A*...原创 2019-05-18 09:44:49 · 812 阅读 · 0 评论 -
C++学习路线---加油呀
转载自 编程剑谱公众号1、C++ 基础:C++ 是面向对象的语言,一定要理解清楚面向对象的思想,先把 C++ 的基础知识点打牢,刚从面向过程中转变过来,一定一定要适应面向对象的写法。在学习面向对象的时候,也要考虑如何用面向过程去实现面向对象(其实也就是结构体中有一个成员是函数指针),对于 C++ 的基础知识,我简单罗列如下:1、const的用法2、引用的用法3、#define用法4、...转载 2019-07-09 10:36:37 · 330 阅读 · 0 评论 -
rand
要写原创 2019-07-18 19:53:57 · 202 阅读 · 0 评论 -
C/C++开源项目
sourceforge.net/projects/cjsonsJSon,传送数据(F12看网页)(json.cn可以解析json数据格式) 适合初学者的C开源项目就两个文件,主要用到C的指针,可回忆查看一下C的知识源码在GitHub上 C轻量的Http Server, 帮助真正理解服务器程序的本质,适合初学者, 用到了进程,有socket了!要学要学!Github上 C...原创 2019-09-23 21:02:45 · 792 阅读 · 0 评论 -
C++ 学习大纲
一. C++ 基本语法知识点二. 数据结构和基本算法,刷题三. 数据库四. 并行五.网络编程(socket编程)???服务器开发,并行量吞吐量稳定性六.库的使用,引入第三方库??boost库七.操作系统的知识...原创 2019-04-21 15:50:14 · 237 阅读 · 1 评论