![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 55
yangtuoni
这个作者很懒,什么都没留下…
展开
-
C++刷题学习记录一
#define _CRT_SECURE_NO_WARNINGS#include<cstdio>#include<vector>#include <iostream>#include<unordered_map>using namespace std;class Solution {public: int findRepeatNumber(vector<int>& nums) { unordered_map<in.原创 2021-07-30 23:46:32 · 159 阅读 · 0 评论 -
剑指offer第一题赋值运算符函数
#define _CRT_SECURE_NO_WARNINGS#include<cstring>#include<cstdio>#include<iostream>class CMyString{public: CMyString(char* pData = nullptr); CMyString(const CMyString& str); ~CMyString(); CMyString& operator = (const C.原创 2021-07-30 19:10:09 · 64 阅读 · 0 评论 -
C++ STL
通常认为,STL是由容器、算法、迭代器、函数对象、适配器、内存分配器这 6 部分构成,其中后面 4 部分是为前 2 部分服务的,它们各自的含义如表 1 所示。表 1 STL 组成结构 STL的组成 含义 容器 一些封装数据结构的模板类,例如 vector 向量容器、list 列表容器等。 算法 STL 提供了非常多(大约 100 个)的数据结构算法,它们都被设计成一个个的模板函数,这些算法在 std 命名空间中定义,其中大部分算法都包含在头文件 <algori...原创 2021-07-28 00:37:48 · 57 阅读 · 0 评论 -
C++11
在 C++11 中增加了返回类型后置(trailing-return-type,又称跟踪返回类型)语法,将 decltype 和 auto 结合起来完成返回值类型的推导。C++11 支持为函数模板中的参数设置默认值,在实际使用过程中,我们可以选择使用默认值,也可以尝试由编译器自行推导得到,还可以亲自指定各个模板参数的类型。C++11 标准新引入了一种类模板,命名为 tuple(中文可直译为元组)。tuple 最大的特点是:实例化的对象可以存储任意数量、任意类型的数据。C++11 标准中,建议将 con原创 2021-07-26 23:16:24 · 134 阅读 · 0 评论 -
C++异常
程序的错误大致可以分为三种,分别是语法错误、逻辑错误和运行时错误:语法错误在编译和链接阶段就能发现,只有 100% 符合语法规则的代码才能生成可执行程序。语法错误是最容易发现、最容易定位、最容易排除的错误,程序员最不需要担心的就是这种错误。逻辑错误是说我们编写的代码思路有问题,不能够达到最终的目标,这种错误可以通过调试来解决。运行时错误是指程序在运行期间发生的错误,例如除数为 0、内存分配失败、数组越界、文件不存在等。C++ 异常(Exception)机制就是为解决运行时错误而引入的。原创 2021-07-26 20:26:08 · 201 阅读 · 0 评论 -
C++模板
所谓函数模板,实际上是建立一个通用函数,它所用到的数据的类型(包括返回值类型、形参类型、局部变量类型)可以不具体指定,而是用一个虚拟的类型来代替(实际上是用一个标识符来占位),等发生函数调用时再根据传入的实参来逆推出真正的类型。这个通用函数就称为函数模板(Function Template)。#include <iostream>using namespace std;template<typename T> void Swap(T *a, T *b){ T temp原创 2021-07-26 19:59:46 · 73 阅读 · 0 评论 -
C++运算符重载
#include <iostream>#include <cmath>using namespace std;//复数类class Complex{public: //构造函数 Complex(double real = 0.0, double imag = 0.0): m_real(real), m_imag(imag){ }public: //运算符重载 //以全局函数的形式重载 friend Complex operator+(const原创 2021-07-24 21:03:28 · 152 阅读 · 0 评论 -
C++多态与虚函数
“多态(polymorphism)”指的是同一名字的事物可以完成不同的功能。多态可以分为编译时的多态和运行时的多态。前者主要是指函数的重载(包括运算符的重载)、对重载函数的调用,在编译时就能根据实参确定应该调用哪个函数,因此叫编译时的多态;而后者则和继承、虚函数等概念有关,是本章要讲述的内容。本教程后面提及的多态都是指运行时的多态。#include <iostream>using namespace std;//基类Peopleclass People{public: Peop原创 2021-07-24 19:46:44 · 69 阅读 · 0 评论 -
C++继承和派生
protected 成员和 private 成员类似,也不能通过对象访问。但是当存在继承关系时,protected 和 private 就不一样了:基类中的 protected 成员可以在派生类中使用,而基类中的 private 成员不能在派生类中使用。如果希望基类的成员既不向外暴露(不能通过对象访问),还能在派生类中使用,那么只能声明为 protected。下表汇总了不同继承方式对不同属性的成员的影响结果继承方式/基类成员public成员protected成员private成员原创 2021-07-24 18:37:26 · 85 阅读 · 0 评论 -
C++引用
引用的定义方式类似于指针,只是用&取代了*,语法格式为:type &name = data;type 是被引用的数据的类型,name 是引用的名称,data 是被引用的数据。引用必须在定义的同时初始化,并且以后也要从一而终,不能再引用其它数据,这有点类似于常量(const 变量)。如果不希望通过引用来修改原始的数据,那么可以在定义时添加 const 限制,形式为:const type &name = value;也可以是:type const &name =原创 2021-07-24 15:39:03 · 550 阅读 · 0 评论 -
C++类和对象
#include <iostream>using namespace std;//类通常定义在函数外面class Student{public: //类包含的变量 char *name; int age; float score; //类包含的函数 void say(){ cout<<name<<"的年龄是"<<age<<",成绩是"<<score<<e原创 2021-07-24 14:57:45 · 190 阅读 · 2 评论 -
C++基础知识
C++ 支持面向过程编程、面向对象编程和泛型编程,而C语言仅支持面向过程编程。就面向过程编程而言,C++ 和C几乎是一样的,所以学习了C语言,也就学习了 C++ 的一半,不需要从头再来。#include <stdio.h>//通过class关键字类定义类class Student {public: //类包含的变量 const char *name; int age; float score; //类包含的函数 void say() { printf("%s的年龄是 %d原创 2021-07-19 22:38:45 · 83 阅读 · 0 评论 -
C++语言快速排序
#include<iostream>using namespace std;void quickSort(int a[], int, int);int main(){ int array[] = { 34,65,12,43,67,5,78,10,3,70,43,43,65 }, k; int len = sizeof(array) / sizeof(int); cout << "The orginal arrayare:" << endl; for (k原创 2021-07-19 18:58:39 · 79 阅读 · 0 评论 -
C/C++和算法数据结构知识点1
C语言提供了 short、int、long、long long 四种类型的整数,它们的长度依次递增,初学者在选择整数类型时往往比较迷惑,有时候还会导致数值溢出。原创 2020-06-27 03:23:47 · 231 阅读 · 0 评论