![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
C++回顾
chen_hui.778
学习就像在黑房子里面洗衣服,你永远不知道洗的有多干净,可以做的就是一直洗,等到天亮之后,你的衣服就干净了。
展开
-
计算机科学丛书之第9章和第10章代码
本文是是笔记,记录下学习和总结,每一次记录必有成长总结:本文在C++中所应该掌握的知识包括:抽象,封装,类的定义,类的调用,const,静态成员,静态方法,用对象作参数传递,数对象作为参数传递,字符串对象的处理,类的定义和分离/** main.cpp**/#include <iostream>#include "Circle.h"using namespace std...原创 2020-04-23 21:03:42 · 151 阅读 · 0 评论 -
C++移动构造函数问题,编译优化导致不一致
在学习到拷贝够造函数的时候,死活就不是按照B站清华大学的一个C++进阶班老师说的一样,getNum为一个局部函数,里面创建的对象,在函数返回时被释放,从而调用拷贝构造函数,返回一个临时对象,用临时对象调用getInt()输出0,在主函数结束的时候,临时构造的对象会调用析构函数。用clock block运行 如图下图:查阅资料,知道原来有些编译器会对代码进行优化,并不会调用构造函数,用vs20...原创 2020-04-04 21:15:09 · 495 阅读 · 0 评论 -
论动态分配char*p = new char;的重要性(深复制与浅复制)
给大家讲一个故事…如下,故事简化版想从函数返回一个指针指向的字符串,给主函数输出,不知道什么鬼,折腾了半天,查资料得知,原来。。。。。。。。在函数定义的变量是局部的,无法返回,要想返回,必须定义持久的数组,int arr[10]这个内存会被没掉,所以p指向这个arr,也会没掉,上面定义的arr[10]在函数执行完后,就被系统释放了内存,所以在主函数输出时,找不到这个地址,找不到这个地址就输...原创 2020-04-03 21:18:57 · 379 阅读 · 0 评论 -
C++刷题:笔记和坑
①cin>>输入与cin.get();cin>>,不会接收空格,回车,换行cin.get()会获取回车,所以在C++中,如果需要通过回车判定输入结束,需要使用cin.get()获的字符笔记出处例:想输入一组数据到vector中,以回车为结束错误版本:while(1){ cin>>t; v.push_back(t); if(t == '\n')...原创 2020-03-18 18:02:01 · 133 阅读 · 0 评论 -
C++刷题小知识之容器,有序集合,映射小结
对容器vector,set,map这些遍历的时候都是用迭代器访问可以将定义迭代器vector::itetator 等价于 autovector<int > v(10,2);for(auto *it = v.begin();it != v.emd();it++){ cout<<*it<<" ";}C++STL之集合set的使用:set是...转载 2020-03-10 21:24:00 · 299 阅读 · 0 评论 -
字符串操作笔记:输入三个字符串a,b,c,将a中b的第一次出现替为c
string str;①pos = find(“str”)//函数,返回字符前面一个位置②str.replace(pos,x,“aaa”)//函数,将str从pos位置开始,往后数四个字符,把他们替换称aaa③裁剪函数:str.substr(from,to);//返回str中的从from开始到to的字符串...原创 2020-03-03 18:12:00 · 1291 阅读 · 0 评论 -
【C++】输入多组数据问题
记录一下输入多组数据题,第一次见!!!题目如上,要求输入“多”组数据,这个“多”没有提前输入,输入了一组数据后,立马输出结果如下:关键在于:while(scanf("%d",&N) != EOF)//只要成功输入,就可以继续执行,在循环内使用动态分配内存,使每一次经过循环的数据都可以被释放{}#include <iostream>#include <a...原创 2020-03-02 22:39:03 · 1120 阅读 · 0 评论 -
C++中,回车导致cin输入与getline()区别
刷一道题中,出现了先用cin输入,再用getline()输入,导致问题出错如:#include <iostream>#include <string>using namespace std;string myreverse(string s);int main(){ int n; cin>>n; string str[n]...原创 2020-02-28 21:30:53 · 535 阅读 · 0 评论 -
Mysql学习笔记
一.使用mysql使用cd命令打开安装盘中mysql-8.0.16-winx64/bin的目录使用mysql -u -root -p打开mysql展示数据库:show databases;创建一个数据库:create database databaseName(数据库名称);例:create database NB;使用数据库:use NB;在数据库中建表:CREATE TABLE...原创 2020-02-10 06:49:40 · 79 阅读 · 0 评论 -
C++ 内联函数
函数模板#include <iostream>//函数模板,T代表的是一类类型template <class T>void swap(T &a,T &b){ T tem; tem = a; a = b; b = tem;}int main(){ int i1=100,i2=200;...原创 2020-02-08 15:19:05 · 84 阅读 · 0 评论 -
C++ 容器 与 迭代器 笔记
一,什么是容器?数组,stack,queue,可以容纳一类资源称之为容器。向量容器:数组这种数据结构最大的先天不足就是他受限于一个固定的长度。在程序中,数组的空间是固定的,不可以多,容易溢出或者出现溢出这种现象。C++标准库提供的向量(vector)类型解决了先天不足的问题。就像可以创建各种不同类型的数组一样,我们也可以创建各种不同类型的向量。std::vector vectorNa...原创 2020-02-08 11:46:05 · 80 阅读 · 0 评论 -
C++捕获异常机制
try{可能出现的异常的部分}catch(char * e){e获取到throw抛出的异常}#include <iostream>#include <climits>using namespace std;unsigned long returnFactorial(unsigned short num) throw (const char*);i...原创 2020-02-06 16:34:23 · 219 阅读 · 0 评论 -
C++之运算符重载
常规: 通过调用方法实现,让 ‘+’实现两个对象(负数)相加#include <iostream>class Complex{public: Complex(); Complex(double r,double i); Complex Complex_add(Complex &d); //普通的函数调用 //Complex operato...原创 2020-02-05 10:02:46 · 110 阅读 · 0 评论 -
C++之虚方法
#include <iostream>class Pet{ public : Pet(std::string TheName); ~Pet(); void play(); // virtual void play(); void eat(); static int getCount();...原创 2020-02-04 10:48:58 · 308 阅读 · 0 评论 -
C++之{}的作用
{}:打包作用,限定变量的范围。在main函数中,单独的{}限定了dog_2与cat_2的范围,当运行到 ‘}’ 时,自动调用Dog与Cat的析构函数,释放Dog与Cat#include <iostream>class Pet{ public : Pet(std::string TheName); ~Pet(); st...原创 2020-02-03 22:10:51 · 4532 阅读 · 1 评论 -
C++ 友元关系
在C++中,当基类A,给与属性protected限定时,如果想访问该属性,除了继承的子类外,可在A类中生名B类为A的友元:friend class Others;#include <iostream>class Lovers{public : Lovers(std::string theName); void kiss(Lovers *lover); ...原创 2020-02-03 15:58:05 · 129 阅读 · 0 评论 -
C++ 笔记继承机制中的构造器和析构器
继承中定义一个子类:调用构造器和析构器的顺序为?1 基类的构造器2.子类的构造器3.子类的析构器4.基类的析构器#include <iostream>#include <string>class BaseClass{public: BaseClass(); ~BaseClass(); void doSomething();};...原创 2020-02-03 13:19:20 · 139 阅读 · 0 评论 -
C++ 继承笔记
A类为基类,B类继承A类,B具有A类的属性和方法,同时可以定义新的属性和方法,称之为继承。#include <iostream>#include <string>class Animal{public: std::string mouth; void eat(); void sleep(); void drool();};c...原创 2020-02-03 11:50:02 · 159 阅读 · 0 评论 -
C++ 特仑苏 ~ 析构器和析构器
构造函数:初始化析构函数:退出时调用#include <iostream>#include <fstream>class StoreQuote{public : std::string quote ,speaker; std::ofstream fileOutput; StoreQuote(); ~StoreQuote();...原创 2020-02-03 10:29:39 · 103 阅读 · 0 评论 -
C++笔记,文件的输出与保存实例
总结:std::ifstream :文件输入流std::ofstream :文件输出流两者均可直接使用构造函数获得文件输入,输出流对象如何从文件中取得数据,输入到控制台?getline(string,in);如何输出?cout<<string;如何打印%比?for(i = 1;i<101;i++){cout.width(3);cout<<i&l...原创 2020-02-02 21:49:17 · 407 阅读 · 0 评论 -
C++ copyfile文件设计
cerr:std错误输出流fstream in() ;调用构造函数实现 infstream out() :调用输出函数实现 outin.get(ch);从in输入流中取出一个字符给chout << ch; //将取出的数据赋值给out#include <iostream>#include <fstream>using namespace std;...原创 2020-02-02 11:03:04 · 224 阅读 · 0 评论 -
C++,小甲鱼课堂代码笔记
03 从一个小程序说起使用"cin>>"判定,是否为非法输入while(cin>>i)当输入的数据不为整型时,判断为false,退出循环。***************************************************************************************************#include <ios...原创 2020-02-01 16:20:41 · 341 阅读 · 0 评论 -
C++ 重载案例 与 ungetc的笔记
cin:从缓冲区中获得数据ungetc :将被getchar()取得数据,放回缓冲区#include <iostream>#include <stdio.h>using namespace std;int cal(int a);int cal(int a,int b);int cal(int a,int b,int c);int main(){ ...原创 2020-02-01 08:39:30 · 151 阅读 · 0 评论 -
C++ 刷题(1):输入一连串数字和空格,求数字之和
总结:cin是一个输入流对象方法peek(); 判断数据get(); 从键盘获得数据#include <iostream>using namespace std;int main(){ int i; char a,b; int sum = 0; cout<<"请输入一连串数字和空格:"; for(i=0;cin.p...原创 2020-01-21 21:57:41 · 646 阅读 · 0 评论