C++基础
星空之下仰望神
喜欢思考。适合成为哲学家的未来程序员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
读那些大牛的代码我们能得到什么?
读那些大牛的代码我们能得到什么?之前在学STL的map容器,map容器的底层实现就是变种红黑树.有些好奇标准库是怎么写的,就去追根溯源了一下,然后找到了map和xtree里面,开始就看到了一个很奇怪的代码:// map standard header#pragma once#ifndef _MAP_#define _MAP_#ifndef RC_INVOKED#include &l...原创 2020-03-29 17:31:14 · 299 阅读 · 0 评论 -
C++异常
C++异常异常无处不在!尽管程序是你设计的,但是却不一定按你的设想运行.面对随时有可能出现的异常情况(俗称程序跑飞了),你该如何应对?C++提出了异常机制.什么是异常?异常是一种程序控制机制,与函数机制互补.函数是一种以栈结构展开的上下函数衔接的程序控制系统,异常是另一种控制结构,它可以在出现"意外"时中断当前函数,并以某种机制(类型匹配)回馈给隔代的调用者相关的信息.在我以前的文章里...原创 2020-03-27 16:00:57 · 339 阅读 · 0 评论 -
虚函数表与继承再到多态
虚函数表虚函数表是一块连续的内存,每个内存单元中记录一个JMP指令的地址.类中虚函数的存储借助虚函数表,请看代码.#include <iostream>using namespace std;class Father {public: virtual void function1() { cout << "调用了Father的方法1" << ...原创 2020-02-04 23:33:42 · 219 阅读 · 0 评论 -
友元、运算符重载
友元友元是一种定义在类外部的普通函数或类,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend类的三种访问权限从:大家均可访问(public)到仅子类可访问(protected)到类外均不可访问(private).这三种访问范围其实是有漏洞的,并没有考虑到一种情况,比如我现在让类内的数据部分公开,即部分函数/类可用,这时类的三种访问权限任何一种都无法满...原创 2020-01-13 19:01:50 · 529 阅读 · 0 评论 -
C++中对文件的操作
对文件的操作学C的时候我们就接触过如何读写文件,C++中存在C++风格的文件读写,同时也支持C风格的读写文件.这是IO类库的基本结构,箭头表示该类从何处继承.文件的打开模式标记代表了文件的使用方式,这些标记可以单独使用,也可以组合使用,组合使用时,用|将其连接模式标记适用对象作用ios::inifstream、fstream打开文件用于读取数据。如果文件不存在,...原创 2019-12-21 11:56:05 · 647 阅读 · 0 评论 -
codeblocks去掉语法检查及中文乱码问题
我是一名计算机系的学生,学校虽然也有编程语言的开设,可总觉得课堂上学的不够,并且总是会问自己:学了这个知识,我怎么去应用它?不是做题做对了就是你掌握了,在实际的项目中是没有题目的,只有一个个需求。于是我决定在网上学习专业知识来强化自己。我本人一直认为,学校的教授方式虽然有效,但是不是很好,编程是一件很活的事情,不能学死了。而项目式学习编程是最好的,通过完成一个一个项目来深入学习,我用到哪个知识点我...原创 2019-04-05 20:45:08 · 1724 阅读 · 1 评论 -
EasyX图形库、初学者编程思维训练
真是糟糕,Codeblocks做不了图形化界面,在网上搜了很多资料,做了很多设置还是无法使用图形库.只能使用VC2010Epress中文版来码代码了,基本界面还是跟code差不多,一会就熟悉了,装了EasyX后就可以用图形库.这是我做的图形化界面,虽然功能还没有实现,并且也不会攻击真正的商业网站,但还是很自豪,这可比控制台界面好看太多了.然而在我关掉运行的程序时VC却突然给我报错了,向老师请...原创 2019-04-12 21:59:49 · 3938 阅读 · 6 评论 -
汉字所占字节差异、清空输入缓冲区函数
文章开始说一下IDE和语言的问题.首先,集成开发环境(IDE,Integrated Development Environment)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具.集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套.所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境.有很多种类的IDE,比如说Visual S...原创 2019-04-19 10:03:18 · 313 阅读 · 0 评论 -
数组的几种创建方式、常用快捷键
这是正文原创 2019-04-22 20:50:52 · 1649 阅读 · 0 评论 -
使用更安全的输入函数
新标准–C11标准运行以下代码:#include <Windows.h>#include <iostream>#include <string>using namespace std;int main(void){ int age; double s; char ch; char line[20]; scanf("%d %lf %c %...原创 2019-04-28 19:20:13 · 371 阅读 · 0 评论 -
goto语句、for循环条件内定义变量、使用关系运算符==如何防错
goto语句运行以下代码:#include <iostream>#include <Windows.h>using namespace std;int main(void){ for(int i=0;i<8;i++){ if(4==i){ goto late; } cout << "报数:" << i+1 &l...原创 2019-05-04 17:05:03 · 460 阅读 · 0 评论 -
用EasyX图形库在控制台上"放视频"、VC的字符集
请看以下代码:#include <graphics.h>#include <Windows.h>#include <iostream>#include <MMSystem.h>//播放音乐的头文件#pragma comment(lib,"winmm.lib")//加载库文件#define ALLIMAGE 148using names...原创 2019-05-11 10:28:41 · 4037 阅读 · 1 评论 -
函数的默认参数、函数的重载、内联函数
函数的默认参数、函数的重载以及内联函数1.函数的默认参数函数可以为形参分配默认参数,这样当在函数调用中遗漏了实际参数时,默认参数将传递给形参。#include <iostream>using namespace std;int max(int a=1,int b=5,int c=9){ return a>b?(a>c?a:c):(b>c?b:c);}...原创 2019-05-18 15:50:09 · 263 阅读 · 0 评论 -
项目:黑客攻击系统
本篇将讲解如何实现黑客攻击系统(控制台版)代码总览(最后有完整代码)#include <iostream>#include <Windows.h>#include <string>#include <conio.h>#include "hacker.h"#define WIDTH 40#define HIGH 15int flag=...原创 2019-05-25 22:23:22 · 911 阅读 · 1 评论 -
动手写静态数据连接库
动手写静态数据连接库这篇文章我们一起动手写一个属于自己的静态数据连接库,首先我们了解一下lib文件.lib是一种文件名后缀,代表的是静态数据连接库,在windows操作系统中起到链接程序和函数(或子过程)的作用,相当于Linux中的·a或·o、.so文件。在实际的开发过程中,常常会遇到双方合作的情况,你写这一部分,我写这一部分.但是合作的时候很尴尬,为什么呢,如果我把写好的代码发给你你不...原创 2019-05-29 16:19:54 · 300 阅读 · 0 评论 -
项目:地形导航系统
地形导航系统原创 2019-06-07 21:08:36 · 442 阅读 · 0 评论 -
const与指针、指针的指针、引用与指针
const与指针、指针的指针原创 2019-06-13 16:14:44 · 375 阅读 · 0 评论 -
项目:双色球预测系统
本篇实现双色球预测系统项目代码总览:#include <iostream>#include <fstream>#include <string>#include <Windows.h>#define LINE 7using namespace std;bool analyse(const char *filename,int re...原创 2019-06-23 14:16:54 · 2022 阅读 · 0 评论 -
void类型指针、指针与二维数组
本篇讲解void类型指针、指针与二维数组、指针与函数void类型指针void指针是一种特殊的指针,表示为"无类型指针",这就意味着任何类型的指针都可以直接赋值给void指针而无需进行强制类型转换,但是你在使用它的时候需要将它转化成对应的类型,常用于函数传参中:#include <iostream>#include <Windows.h>using namespa...原创 2019-06-30 19:26:22 · 988 阅读 · 0 评论 -
动态内存分配、内存泄漏及检测
动态内存分配原创 2019-07-06 20:51:08 · 914 阅读 · 0 评论 -
项目:地震监测系统
本篇实现项目地震监测系统(涉及到的场景,公式均为虚构)代码总览:#include <iostream>#include <Windows.h>#include <fstream>#include <string>#include <math.h>#define THRESHOLD 1.5using namespace ...原创 2019-07-13 17:06:35 · 490 阅读 · 0 评论 -
粗谈类与对象
类与对象在讲到C和C++的区别的时候,大家很容易想到的要点就是一个是面向过程,另一个是面向对象.那么,什么是面向过程,什么是面向对象呢?面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。用开车去上班...原创 2019-07-21 21:53:32 · 142 阅读 · 0 评论 -
几种构造函数、析构函数和类的const成员方法
自定义构造函数 拷贝构造函数 赋值构造函数和析构函数本篇总代码:#include <iostream>using namespace std;class Human {public: Human();//自定义构造函数 Human(const Human &);//拷贝构造函数 Human& operator=(Human &other);/...原创 2019-08-04 20:07:48 · 387 阅读 · 0 评论 -
组合与聚合、粗谈vector容器
组合原创 2019-08-25 23:12:35 · 306 阅读 · 0 评论 -
类的静态方法与静态数据成员、vector类的push_back函数
类的静态方法与静态数据成员什么是类的静态方法?C++中,若类的方法前加了static关键字,则该方法称为静态方法,反之为实例方法.静态方法为类所有,可以通过对象来使用,也可以通过类来使用.但一般提倡通过类名来使用,因为静态方法只要定义了类,不必建立类的实例就可使用.静态方法只能调用静态变量(静态成员).要深入理解请看以下代码:#include <iostream>#inc...原创 2019-09-06 20:09:03 · 753 阅读 · 0 评论
分享