![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 88
@唔问
科研途中的一名小学生,每天学习一点、进步一点。希望有朝一日能有大的进步。
展开
-
数据结构中的堆栈------------内存中堆区,栈区的区别
解释数据 结构中的堆栈—堆区,栈区原创 2021-05-18 20:14:08 · 463 阅读 · 0 评论 -
c++并发与多线程(一)
记录一下学习C++并发、线程、进程过程,并发VS并行并发:有两个或两个以上的任务(独立的活动),同时发生(进行),或者说**一个程序同时执行多个独立任务**。并行:顾名思义,同一时刻,可以同时处理多个操作,强调的是开始时间。之前的计算机是单核CPU,同一时刻只能实现一个任务:由操作系统调度,每秒钟进行多次所i为的“任务切换”(第一个任务10ms、快速切换到下一任务10ms.只要我速度够快,看起来就像几个任务同时进行了)。但是这只是一种假象的并发,并不是真正的并发。这种切换也叫做上下文切换,是有原创 2021-04-28 22:13:48 · 276 阅读 · 0 评论 -
程序编译的过程
一个源程序到一个可执行程序的过程:预编译、编译、汇编、链接。其中,编译是主要部分,其中又分为六个部分:词法分析、语法分析、语义分析、中间代码生成、目标代码生成和优化。链接中,分为静态链接和动态链接一、预编译:主要处理源代码文件中的以“#”开头的预编译指令。处理规则见下1.删除所有的#define,展开所有的宏定义。2.处理所有的条件预编译指令,如“#if”、“#endif”、“#ifdef”、“#elif”和“#else”。3.处理“#include”预编译指令,将文件内容替换到它的位置,这个转载 2021-04-18 10:41:53 · 2731 阅读 · 0 评论 -
C++中extern “C”含义深层探索
转载:http://www.cppblog.com/Macaulish/archive/2008/06/17/53689.html1.引言C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式转载 2020-11-23 11:20:22 · 93 阅读 · 0 评论 -
c++基础知识面向对象----之封装
面向对象之封装c++的三大特征封装、继承、多态。封装是c++的三大特征之一一、什么是封装封装:隐藏对象的属性和实现细节,仅对外公开接口和对象进行交互,将数据和操作数据的方法进行有机结合。说明:函数是封装的一种形式:函数所执行的细节行为被封装在函数本身这个更大的实体中,被封装的元素隐藏了它们的实现细节–可以调用一个函数但是不能够访问函数所执行的语句。封装的意义:将属性和行为作为一个整体,表现生活中的事物将属性和行为加以权限控制1、封装意义一:在设计类的时候,属性和行为写在一起,表现事物,也原创 2020-11-15 19:18:33 · 207 阅读 · 0 评论 -
n知道C++#include<iostream > using namespace std;的含义吗?
简单介绍c/C++:C语言是:一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。现在最新的C语言标准是C17.C++是:C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论原创 2020-11-08 20:02:49 · 1258 阅读 · 0 评论 -
c++中的构造数据类型----结构体
C++结构体指针 常用用法及注意事项总述:c++结构体指针,顾名思义就是指向结构体的一个指针,这篇博客作用是记录c++结构体指针的常用用法及我经常犯的一个错误。定义结构体:struct My{My *left;My *right;int val;My(){}My(int val):left(NULL),right(NULL),val(val){}};一般结构体变量的访问方式:void test1(){My m;m.val = 1;cout<<m.val<<原创 2020-11-06 11:18:53 · 1053 阅读 · 0 评论 -
结构体之结构体作为函数参数
结构体作为函数参数作用:将结构体作为参数向函数中传递一般来说函数的参数传递方式有两种:值传递 地址传递具体可以参照这边文章https://blog.csdn.net/zhang2039/article/details/108547625一般来说函数的参数传递方式有两种:值传递 地址传递结构体作为函数的参数传递使用的就是引用传递,这样做的好处就是它的效率和指针一样高。当结构体很大的时候,避免传递结构体变量很大的值,节省内存,提高效率案例分析:#include<iostream>原创 2020-11-05 19:49:33 · 1420 阅读 · 0 评论 -
c++/c结构体的嵌套
结构体的嵌套顾名思义就是在一个结构体内包含了另一个结构体作为其成员即 结构体中的成员可以是另一个结构体动物园饲养员照顾动物案例分析//动物结构体定义 struct animal { //成员列表 string name; //名字 int age; //年龄 };//饲养员结构体定义 struct Breeder { //成员列表 int id; //编号 string name; //名字 struc原创 2020-11-05 17:13:13 · 1213 阅读 · 0 评论 -
c++/c结构体数组、结构体指针
结构体中自己常常弄不清的。两个常用的结构体数组、结构体指针1、结构体数组将自定义的结构体放入到数组中方便维护语法:语法: struct 结构体名 数组名[元素个数] = { {} , {} , ... {} }举例:struct student { //成员列表 string name; //姓名 int age; //年龄 int score; //分数 }int main() { stru原创 2020-11-05 17:07:26 · 1344 阅读 · 0 评论 -
结构体之引用结构体成员变量
引用结构体成员变量一个结构体包含一个或者多个成员变量,在实际使用中,就需要对其成员变量进行引用,对于一个已经定义了的结构体变量和一个指向该结构体的指针变量。可以用一下三种情况引用结构体 成员变量。1、由结构体变量名引用其成员:结构体变量名.成员名2、由指向结构体的指针变量引用结构体成员指针变量名 -> 成员名3、(*指针变量名).成员名结构体指针:指向结构体变量的指针,一个结构体变量的起始地址就是这个结构体变量的指针。如果把一个结构体变量的起始地址存放在一个指针变量中,那么这个指针变原创 2020-11-05 17:02:01 · 17695 阅读 · 0 评论 -
this指针的概念
通过前面的学习我们知道在C++中成员变量和成员函数是分开存储的每一个非静态成员函数只会诞生一份函数实例,也就是说多个同类型的对象会共用一块代码那么问题是:这一块代码是如何区分那个对象调用自己的呢?c++通过提供特殊的对象指针,this指针,解决上述问题。this指针指向被调用的成员函数所属的对象 this指针是隐含每一个非静态成员函数内的一种指针this指针不需要定义,直接使用即可this指针的用途:当形参和成员变量同名时,可用this指针来区分 在类的非静态成员函数中返回对象本身,可使用r原创 2020-11-02 16:59:32 · 251 阅读 · 0 评论 -
c++中的友元的相关知识
c++中的友元c++中创建类的时候会有公共权限、保护权限、私有权限。往往是访问不到一个类中私有权限中内容的。在程序中,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术,这样一来两个类就可以共享数据。节省内存空间。 如果友元是一般成员函数或者类的成员函数,则称为友元函数,如果友元是一个类则称为友元类。友元类中所有的成员函数都是友元函数。接下来会分别介绍。友元的目的:就是让一个函数或者类 访问另一个类中私有成员 友元的关键字为 friend友元的三种实现:1、全局函数原创 2020-10-12 19:39:43 · 124 阅读 · 0 评论 -
c++中类成员变量和成员函数
c++中类成员变量和成员函数c++中,类中的属性和行为 我们统一称为 成员属性 :成员属性 成员变量行为: 成员函数 成员方法1、成员变量、成员函数其实,类可以近似看做是一种数据类型,它类似于普通的数据类型,但是又有别于普通的数据类型,类这种类型是一个包含成员变量和成员函数的集合。类的成员变量和普通变量一样,也有数据类型和名称,占用固定长度的内存。但是,在定义类的时候不能对成员变量赋值,因为类只是一种数据类型或者说是一种模板,本身不占用内存空间,而变量的值则需要内存来存储类的成员函数也和普通函原创 2020-11-15 19:18:02 · 1024 阅读 · 0 评论 -
c++/C语言之内联函数
内联函数在类声明内定义内联函数内联函数在C++中,用户可以创建实际上不调用的短函数,他们的代码在每次调用的程序行里得到扩展。这个过程类似于使用类似函数的宏。为使一个函数在程序行进行代码扩展而不被调用,只要在函数前面加上关键字inline即可。 例如,在下面的程序,函数max()在行内扩展而不被调用:#include <iostream>using namespace std;inline int max(int a, int b){ return a>b?a:b;原创 2020-10-08 21:41:41 · 437 阅读 · 0 评论 -
c++中函数属性初始化列表
初始化列表作用是:C++提供了初始化列表语法,用来初始化属性之前介绍的构造函数的主要作用就是给属性做初始化操作。这里提供了另一种新的初始化列表方法class Person {public:////传统方式用构造函数给属性初始化操作//Person(int a, int b, int c) {// m_A = a;// m_B = b;// m_C = c;//}//初始化列表方式初始化Person(int a, int b, int c) :m_A(a), m_B(b), m_C(c原创 2020-10-07 16:07:11 · 161 阅读 · 0 评论 -
c++中的构造函数和析构函数理解
c++中的构造函数和析构函数首先,在面向对象的语言c++中,“类”是核心。那么在定义和使用类的时候,对象的初始化和清理就是两个非常重要的安全问题。一个对象或者变量没有初始状态,对其使用后果是未知同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题。构造函数的作用:赋初值,初始化对象的数据成员,由编译器帮我们调用。无需手动调用。析构函数的作用:主要作用在于对象销毁前系统自动调用,执行一些清理工作,用于释放资源。(c++定义一个特殊的成员函数清理对象,这个特殊的成员函数叫做析构函数)分别介原创 2020-10-07 14:51:46 · 177 阅读 · 0 评论 -
c++中的引用的相关知识
c++中的引用1、定义引用就是给一个变量起别名,定义好之后,对引用和变量操作效果一样。2、语法数据类型 &别名 = 原名举个例子int main() {int a = 10;int &b = a; //给变量a起别名//在这,& 读作引用。因此,声明可以读作 "b是一个初始化为 a的整型引用",cout << "a = " << a << endl; // 10cout << "b = " << b原创 2020-09-15 16:04:49 · 322 阅读 · 0 评论 -
c++中break语句和continue语句的区别
C++ 中c++中break语句和continue语句的区别break语句作用: 用于跳出选择结构或者循环结构break使用的时机:出现在switch条件语句中,作用是终止case并跳出switch出现在循环语句中,作用是跳出当前的循环语句实例一:int main() {//在switch 语句中使用breakcout << "请选择您挑战游戏的难度:" << endl;cout << "1、普通" << endl;cout &l原创 2020-08-28 16:32:52 · 842 阅读 · 0 评论 -
最小二乘法拟合多项式原理以及c++实现
转载博客:http://blog.csdn.net/lsh_2013/article/details/46697625最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。c++实现代码如下:#include <iostream>#include <vector>#include <cmath>using namespace std; //最小二乘拟合相关函数定义double sum(ve转载 2020-08-22 15:24:08 · 1829 阅读 · 0 评论 -
冒泡排序算法 c++书写升序和降序排序
冒泡排序是非常经典的排序算法比如有8个随机的数字,现在把他们升序排列(有小到大排列出来)。当然想到的就是两个比较。这样会有好多轮比较。第一轮:从左往右开始,左边的和右边的比较,左边 > 右边,交换他们,然后接着向后比较。最后得到的就是这个最大值。第二轮:剩余的七个数在进行比较,最后又得出一个最大值...最后一轮 剩余两个数 比较一次叫好了 得到一个最大值看到上面的比较经过,我们发现有两个重要的参数、排序 需要比较的轮数 = 元素的个...原创 2020-06-21 20:38:45 · 4435 阅读 · 0 评论 -
函数的递归调用 递归函数 C++求汉诺塔问题
递归:在函数的调用中,有一种特殊的情况,比如一个函数直接的间接的调用自身,称其为函数逇递归调用。递归调用有两种形式:直接递归:在一个函数中调用自身间接递归:在一个函数中调用其他函数,而在其他函数中又调用了本函数递归调用主要包含两个步骤:递推和回归,我们利用函数的递归调用,分解为相对简单而且可以直接求解的子问题(递推阶段)然后这个子问题的结果逐层进行回带求职,最终求得原来复杂问题的解(回归阶段)注意:递归算法设计简单,但是相比较非递归耗时和占内存设计一个正确的递归过..原创 2020-06-18 19:37:54 · 423 阅读 · 0 评论