
c/C++
文章平均质量分 57
c/c++学习笔记
chxchxkkk
这个作者很懒,什么都没留下…
展开
-
c++学习笔记八
2.STL初识2.1 STL的诞生 》长久以来,软件界一直希望建立一种可重复利用的东西 》c++的面向对象和泛型编程,目的就是复用性的提升 》大多情况下,数据结构和算法都未能有一套标准导致被迫从事大量重复工作 》为了建立数据结构和算法的一套标准诞生了STL 2.2 STL基本概念 》STL(Standard Template Library标准模板库) 》STL从广义上分为容器(containe...原创 2021-03-25 10:19:35 · 145 阅读 · 0 评论 -
c++学习笔记七
1.3.5 类模板与继承 当类模板碰到继承时,需要注意以下几点: 》当子类继承父类是一个类模板时,子类在声明的时候,要指定出父类中T的类型 》如果不指定,编译器无法给子类分配内存 》如果想灵活指定出父类中的T类型,子类也需变为类模板 示例://类模板与继承#include <iostream>using namespace std;template<class T>class Base{...原创 2021-03-25 10:17:49 · 206 阅读 · 0 评论 -
c++学习笔记六
C++提高编程 本阶段主要针对c++泛型编程和STL技术做详细讲解 1.模板1.1 模板的概念 模板就是建立通用的模具,大大提高复用性 模板的特点: 》模板不可以直接使用,它只是一个框架 》模板的通用并不是万能的1.2 函数模板 c++另一种编程思想称为泛型编程,主要复用的技术就是模板 c++提供两种模板机制:函数模板和类模板1.2.1 函数模板语法 函数模板...原创 2021-03-25 10:13:29 · 159 阅读 · 0 评论 -
c++学习笔记五
4.6.5 继承同名成员处理方式 问题:当子类与父类出现同名成员,如何通过子类对象,访问到父类中同名函数? 》访问子类同名成员 直接访问即可 》访问父类同名成员 需要加作用域 》当子类与父类拥有同名的成员函数,子类会隐藏父类中同名成员函数,加作用域可以访问到父类中同名函数 示例:#include <iostream>using namespace std;//继承中同名成员处理class...原创 2021-03-25 10:10:22 · 227 阅读 · 0 评论 -
c++学习笔记四
4.5.4 赋值运算符重载 示例:#include <iostream>using namespace std;//赋值运算符重载class Person{ public: Person(int age) { m_Age = new int(age); } ~Person() { if (m_Age != NULL) { delete m_A...原创 2021-03-25 10:02:57 · 135 阅读 · 0 评论 -
c++学习笔记三
4.2.8 静态成员 静态成员 就是在成员变量和成员函数前加上关键字static,称为静态成员 静态成员分为: 》 静态成员变量 >所有对象共享同一份数据 >在编译阶段分配内存 >类内声明,类外初始化 》 静态成员函数 >所有对象共享同一个函数 >静态成员函...原创 2021-03-25 09:59:34 · 160 阅读 · 0 评论 -
c++学习笔记二
4.2 对象的初始化和清理 c++每个对象也会有初始设置以及对象销毁前的清理数据的设置 4.2.1 构造函数和析构函数 对象的初始化和清理也是两个非常重要的安全问题 一个对象或者变量没有初始状态,对其使用后果未知 使用完一个对象或变量,没有及时清理,也会造成一定的安全问题 c++利用了构造函数和析构函数解决上述问题,这两个函数将会被编译器自动调用,完成对象初始化和清理工作,对象的初始化和清理工作是编译器强制要我们...原创 2021-03-25 09:56:36 · 185 阅读 · 0 评论 -
c++学习笔记一
【c++核心编程】1 内存模型》代码区:存放函数体的二进制代码,由操作系统管理 》全局区:存放全局变量和静态变量及常量》栈区:由编译器自动分配释放,存放函数的参数值、局部变量等》堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。1.1 程序运行前 在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域 代码区: 存放CPU执行的机器指令 代码区是共享的,目的是对...原创 2021-03-25 09:51:12 · 200 阅读 · 0 评论 -
通讯录(数组实现)
通讯录(数组实现)#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>#define MAX 40typedef struct{ char name[50]; //姓名 char phone[15]; //联系手机}AddressInfo;//增加联系人int AddNew_AeerInfo(Addres原创 2021-03-24 14:24:43 · 211 阅读 · 0 评论 -
单链表:学生成绩管理系统
单链表:学生成绩管理系统student.h#pragma once#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>#include <windows.h>struct STUDENT{ char ID[8]; char name[20]; char sex[4.原创 2021-03-24 14:23:37 · 1612 阅读 · 1 评论 -
链表实现贪吃蛇
链表实现贪吃蛇#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <time.h>#include <windows.h>#include <conio.h>//蛇的状态#define U 1 //上#define D 2 //下#define L 3 //左#define R 4 //右/*********原创 2021-03-24 14:20:23 · 214 阅读 · 0 评论 -
一些实例
一些实例1、定义一个结构体数组用以保存5个学生的以下信息:学号、姓名、性别、家庭住址、3门课程成绩。要求:1.从键盘输入5个学生的数据。2.显示5个学生中有一门不及格和所有课程均不及格的人数。3.检索学号为NUM的学生的3门课程成绩,NUM由键盘输入。#include <stdio.h>#define STUSIZE 5struct student{ int num; char name[20]; char sex[4]; char homeadd原创 2021-03-24 14:19:04 · 313 阅读 · 0 评论 -
内存中的数据
【内存中的数据】 只有指针才能访问 【堆】中的数据。 数据在内存中的存放分为六个区域 ●程序代码区:存放程序编译后的可执行代码 ●全局区(静态区):全局变量和静态变量的存储是放在一起的,初始化的全局变量和初始化的静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统释放。 ●常量区:常量就是放在这里的,程序结束后由系统释放。 ●堆区:一般用来存放比较大的程序,一般由...原创 2021-03-24 14:06:26 · 946 阅读 · 0 评论 -
指针与函数
指针与函数指向函数的指针 用指针变量可以指向一个函数。函数在程序编译时被分配了一个入口地址。这个函数的入口地址就称为函数的指针。 函数指针的变量常用的用途之一是把指针作为参数传递到其他函数。指向函数的指针也可以作为参数,以实现函数地址的传递,这样就能够在被调用的函数中使用实参函数。返回指针的函数 函数可以返回数值型、字符型、布尔型等数据,也可以带回指针型的数据叫做返回指针的函数。 定义形式为: 类型名 *函数名(参数列表); 例如下式表示的含义是:m...原创 2021-03-24 14:05:32 · 285 阅读 · 0 评论 -
指针与数组
指针与数组数组中下标为N元素的地址 = 数组的首地址 + N * sizeof(数据类型)【指针与多维数组】array[1][2] 指的是一个元素&array[1][2] 指的是array[1][2]元素的地址array 指的是数组下标为0的那一行的首地址array+1 指的是数组下标为1的那一行的首地址&array[1] 指的也是数组下标为1的那一行的首地...原创 2021-03-24 14:04:15 · 123 阅读 · 0 评论 -
结构体
【结构体】 结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。 定义结构体的一般形式为: struct 结构体名 { 成员类型 成员名; ...... 成员类型 成员名; }; 几种定义结构体变量的实现方法: struct 结构体名 { 成员类型 成员名; ...... 成员类型 成员名; } 变量名1,变量名2 ........原创 2021-03-24 14:02:31 · 103 阅读 · 0 评论 -
SetConsoleTextAttribute函数
SetConsoleTextAttribute函数SetConsoleTextAttribute是一个可以在API(应用程序编程接口)中设置控制台窗口字体颜色和背景色的计算机函数。原型BOOL SetConsoleTextAttribute(HANDLE hConsoleOutput, WORD wAttributes);参数consolehwnd = GetStdHandle(STD_OUTPUT_HANDLE);GetStdHandle(nStdHandle)是返回标准的输入、输出或错误的原创 2021-03-24 14:01:06 · 439 阅读 · 1 评论 -
链表专题
链表专题计算机世界里,数据的存储分为两大类:顺序存储和链式存储。其中顺序存储最典型的就是数组,而链式存储最典型的就是链表。链表是C语言中非常重要同时也是较难的一个知识点,后面讲栈和队列的时候都要用到链表的知识,所以一定要掌握。一、数组的缺陷第一,数组是连续的,所以在内存中需要一整块连续的空间。如果存储的数据很大,而内存中如果没有连续的、空闲的这么大的内存空间,内存分配就会失败,这样数组定义也就失败了。内存中一般也很难有那么大、整块、空闲的区域。第二,虽然数组的存取速度很快,但是数组插入和删除元素原创 2021-03-24 13:58:10 · 291 阅读 · 0 评论 -
Winsock编程二:简单的聊天程序
客户端:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>#include <winsock.h>#include <windows.h>#pragma comment(lib, "wsock32.lib")int main(void){ char Sendbuf[100]; //发送数据原创 2020-08-07 16:54:06 · 1935 阅读 · 0 评论 -
Winsock编程一:基本概念和简单实例
什么是Winsock Winsock是Windows下的网络编程接口,它是由Unix下的BSD Socket发展而来,是一个与网络协议无关的编程接口。构建编程环境 Winsock在常见的Windows平台上有两个主要的版本,即Winsock1和Winsock2。编写与Winsock1兼容的程序你需要引用头文件WINSOCK.H,如果编写使用Winsock2的程序,则需要引用WINSOCK2.H。此外还有一个MSWSOCK.H头文件,它是专门用来支持在Windows平台上高性能网络程序...原创 2020-08-07 13:41:14 · 1002 阅读 · 0 评论 -
逗号表达式和三目运算符
【逗号表达式】 逗号运算符每一条语句都要执行,结合方向是从左至右。 用逗号将多个表达式连接起来,又称为“顺序求值运算符”。整个表达式的值是最后那个逗号之后表达式的值。 例题: 求下列表达式的值: 表达式的值 3+4,6 6 a=(a=3, 6*3) a=18, 18 a=a=3, 6*3 a=3 18 a=3...原创 2020-08-03 13:13:56 · 425 阅读 · 0 评论 -
杂记:网络游戏中用到的一些网络协议
【协议】 数据包可以想象成是在网络上传输的电子信封。在它的数据头中有地址和其他相关信息,然后才发出真正的数据帧。 网络数据传输,有着很多不同的协议或规则来定义数据包以什么格式以及为了发送必须 做些什么。 网络游戏现在通常会让游戏逻辑使用两种协议之一:TCP、UDP。有的游戏会使用第三种协议,ICMP,常用于一些非游戏逻辑的功能。【IP】 全称是Internet Protocol(网际网络协议),要通过网络发送数据,这是需要遵守的最基本的协议。不管是ICMP、TCP还是UDP,都必须附加I...原创 2020-07-26 10:45:36 · 5041 阅读 · 0 评论 -
C语言基础:指针
【指针】一、指针变量与定义C语言有两种变量:其中变量(普通变量)存储内容值;地址变量(指针变量)存储地址值。 1、定义格式 类型名 *指针变量名;*是指针变量的标志,不包含在变量名里 注: (1)定义变量(普通变量、指针变量)都必须在前面有类型名。前类型后分号为定义语句。除此之外,其它语句都是执行语句。 (2)在定义指针变量时,指针变量名前的 * 表示现定义的是一个...原创 2019-12-28 22:18:45 · 791 阅读 · 0 评论 -
C语言基础知识:
选择结构1、定义:从main()开始,由上往下有些语句执行有些不执行。2、两类语句 -》执行语句:控制语句(1)、两类表达式 A 关系运算符及关系表达式 < <= > >= == != ----------- ----- 优先级6级 7级 B 逻辑运算符与逻辑表达式 && 逻辑与 || 逻辑或 ...原创 2019-12-26 01:25:47 · 677 阅读 · 0 评论 -
C语言基础知识:顺序结构
顺序结构1、定义:从main()开始,由上往下一条一条地执行语句2、三大类语句:注释、定义、执行语句。【执行语句】:五类 控制语句(9条) 函数调用语句; 表达式语句; 空语句;-> 只有一个分号的语句。 复合语句{ }-> 花括号只算一条语句。3、顺序结构的程序设计框架#include <>main(){ 输入 计算 输出...原创 2019-12-22 23:32:03 · 2389 阅读 · 0 评论 -
C语言基础:表达式续
表达式注:(1)赋值运算符左边只能是一个变量。 (2)赋值运算符右边可以是合法表达式。 (3)赋值表达式的值就是赋值运算符左边变量的值。 (4)实型数据赋给整型变量时,实型小数舍去;整型数据赋给实型变量时系统自动将整型数据转成实型数据。复合赋值运算符:+=、-=、/=、%=、&=、|=、*=、 >>=、<<=注:复合赋值运算符的两个...原创 2019-12-22 17:50:15 · 516 阅读 · 0 评论 -
C语言基础知识一
C语言的组成及数据一、C语言的组成组成:若干文件文件:若干函数函数:函数头 + 函数尾函数头:四部分 -> (返回值)+ 函数名 + ()+ (小括号内的参数列表)函数体:{}+语句语句:三类语句 类型1 -> /* */,// -> 注释语句 类型2 -> 定义语句; -> 前有数据类型,以分号结尾,定义语句一般...原创 2019-12-22 16:03:18 · 1783 阅读 · 0 评论 -
数制的例题
题1:16位的逻辑地址,逻辑地址空间是多大?物理内存32K,地址是多少位?1k = 2的10次方1M=2的20次方1G=2的30次方1T=2的40次方地址是16位,空间是:2的16次方 = 64K空间是32K,地址是:15位2的15次方 = 32K题2:假设逻辑地址32位,页面大小4K,逻辑地址分成多少个页面?一页 4k=2的12次方,即12位2的32次方除以2的12次...原创 2019-12-22 12:08:04 · 922 阅读 · 1 评论 -
ASCII码
大小规则常见ASCII码的大小规则:0~9<A~Z<a~z。1)数字比字母要小。如 “7”<“F”;2)数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;3)字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;4)同个字母的大写字母比小写字母要小32。如“A”<“a” 。几个常见字母的ASCII码大小: “A”为65;“a”为...原创 2019-12-22 11:23:23 · 500 阅读 · 0 评论 -
进制转换
二进制转换成十进制规则:从最低位开始,将每个位上的数据提取出来,乘以2的(位数-1)次方,然后求和。例如:1011=1*2^(1-1) + 1*2^(2-1) + 0*2^(3-1) + 1*2^(4-1) = 1*2^0 + 1*2^1 + 0*2^2 + 1*2^3 = 1 + 2 + 0 + 8 = 11按位乘权相加(权就是...原创 2019-12-22 10:57:34 · 314 阅读 · 0 评论