
C++
文章平均质量分 58
一打雪碧
这个作者很懒,什么都没留下…
展开
-
简单实现string
使用C++的类简单实现string数据是用指针来存放的,所以就涉及到深浅拷贝的问题。要能够实现 对象 = 字符串,对象 = 对象 功能,就要重载 = 运算符。写两个重载函数。还要写复制构造函数。都要注意深浅拷贝的问题。#include <bits/stdc++.h>using namespace std;class myString { private: char* ch; public: // 构造函数 myStri原创 2022-05-25 10:54:09 · 170 阅读 · 0 评论 -
简单实现一下vector
vector是C++STL中的内容,不过可以自己简单实现以下。重点是,将其中的数据,使用指针来存放,这就引出了深浅拷贝的问题,必须是深拷贝。代码中的重载 = 运算符,考虑的很周到了。以及,取front、back、[ ] 的返回值都是引用,可以用于更改数据。#include <bits/stdc++.h>using namespace std;class myVector { int* p; int cnt; public: myVector原创 2022-05-25 10:23:49 · 436 阅读 · 0 评论 -
C++的复制构造函数三种用法
三种用法我们知道,类、struct结构体的复制构造函数在三种情况下会被调用,分别是:1、创建对象a时,使用对象b去初始化对象a2、函数fun( )的形参是对象时,传递参数时,复制构造函数会被调用3、函数的返回值是对象时,返回结果时,复制构造函数会被调用接下来依次看一下这三种情况。首先是类的定义class node { public: int x, y; node () {} // 默认构造函数 node (int _原创 2022-04-05 09:51:37 · 3381 阅读 · 1 评论 -
const、常量指针、指向常量的指针
有点迷迷糊糊的,不过好在,绕出来了前提首先要知道,定义了一个 int 类型的数据之后,它的地址的类型为 int* 类型。定义了一个 const int 类型的数据,它的地址的类型是 const int* 类型。指向常量的指针什么叫指向常量的指针?我们往往会定义const 来修饰的数据,比如:const int n = 9; // 定义了一个整型常量 n如果想使用一个指针来指向它,应该是什么类型的指针呢?首先说,下面的指针是不可以的const int n = 9; // 定义了一个整型常量原创 2022-03-09 11:13:33 · 988 阅读 · 0 评论 -
C++类
类的基本概念成员类的成员包括公有成员public、私有成员private、保护成员protected在每个类型的成员中又可以定义数据成员、函数成员一般类的函数成员定义为公有成员公有成员public类的公有成员用public声明,在类外可以直接通过运算符“.”来访问。一般函数成员被定义为公有成员;在公有成员中的函数成员中可以访问类的私有、保护成员中的数据成员通过调用公有函数成员实施规定的操作外界与类之间起着接口的作用私有成员private外界(类外)不能够直接访问该成员一般数据原创 2021-01-13 16:33:47 · 219 阅读 · 0 评论 -
二维数组和指针
定义一个int型的二维数组int a[3][4];a[i][j]为数组a的第i行第j列的元素;&a[i][j]为数组a的第i行第j列的元素的地址;&a[i]为数组a的第i行的行地址;a[0]代表&a[0][0],即数组a的首行首元素的地址这也为为什么使用fill()函数将图的邻接矩阵初始化为INF时,第一个参数填G[0],也可以填写&G[0][0]。#include <iostream>#include <algorithm>usin原创 2021-01-10 10:51:18 · 325 阅读 · 0 评论 -
局部变量与全局变量
局部变量与全局变量的关系是一个非常重要且细致的问题,在这方面,稍不注意就非常容易出问题。现稍作总结。变量的作用域变量的作用域是指变量的使用范围。根据变量的作用域,可以将变量分为局部变量与全局变量。局部变量在一个函数内或复合语句内定义的变量称为局部变量。此外,函数的形参也属于局部变量。局部变量只允许在其定义的函数或复合语句中使用,离开所在的函数或复合语句后该局部变量将不能使用。main()函数中定义的变量不能在其余的函数中使用。复合语句中定义的变量只能在该复合语句中使用for()循环中定义的原创 2021-01-08 11:31:01 · 8450 阅读 · 0 评论 -
函数重载
函数重载类似于C++提供的库函数max()可以用来求两个数的最大值;如下所示#include <iostream>#include <algorithm>//需要包含头文件<algorithm>using namespace std;int main(){ int a=9,b=10; double x=1.2,y=8.7; cout<<"int型的a和b之间最大值为:"<<max(a,b)<<end原创 2021-01-08 10:34:09 · 191 阅读 · 0 评论 -
string转int、int转string、数组转int
将不同的数据相互转换,这在某些算法题中非常实用string转intstoi()#include <iostream>#include <string>using namespace std;int main(){ string str="1234"; int x=stoi(str); cout<<x; return 0;}运行结果int转为string使用C++提供的to_string(),可以实现将int、d原创 2021-01-08 10:05:30 · 268 阅读 · 0 评论 -
结构体类型的字节数
结构体的字节数sizeof()运算符用于计算基本类型、结构体类型的所占字节数;#include <iostream>using namespace std;struct student{ int id; char ch;};int main(){ printf("%d\n",sizeof(int)); printf("%d\n",sizeof(char)); printf("%d",sizeof(student)); retur原创 2021-01-06 19:28:45 · 2742 阅读 · 0 评论