04 2022 档案
摘要:参考 #include <iostream> #include <sstream> using namespace std; int main() { stringstream ret; ret << "I love you"; cout << ret.str() << endl; //把strin
阅读全文
摘要:一 用法 1.1 插入数据 #include <iostream> #include <vector> #include <string> using namespace std; class Man { public: Man(int age) { this->age = age; } priva
阅读全文
摘要:一 组合 具体组合方式: 1)被组合的对象直接使用成员对象。(常用) 2)使用指针表示被组合的对象,在构造函数中,创建被组合的对象;在析构函数中,释放 被组合的对象。 1.1 被组合的对象直接使用成员对象 需求: 构建一个计算机类,一台计算机,由 CPU 芯片,硬盘,内存等组成。 CPU 芯片也使用
阅读全文
摘要:__FUNCTION__获取函数名 void test() { cout << __FUNCTION__ << endl; } int main() { test(); return 0; }
阅读全文
摘要:一 const数据成员 const 数据成员的初始化方式: 使用类内初始值(C++11 支持) 使用构造函数的初始化列表 (如果同时使用这两种方式,以初始化列表中的值为最终初始化结果) 注意: 不能在构造函数或其他成员函数内,对 const 成员赋值! #include <iostream> #in
阅读全文
摘要:类的静态数据成员: 对于非 const 的类静态成员,只能在类的实现文件中初始化。 const 类静态成员,可以在类内设置初始值,也可以在类的实现文件中设置初始值。(但是不能同时在这两个地方初始化,只能初始化 1 次) 静态成员函数: 可以直接通过类来访问,也可以通过对象来访问 在类的静态成员函数中
阅读全文
摘要:一 构造函数特点 1)自动调用(在创建新对象时,自动调用) 2)构造函数的函数名,和类名相同 3)构造函数没有返回类型 4)可以有多个构造函数(即函数重载形式) 二 构造函数的种类 默认构造函数 自定义的构造函数 拷贝构造函数 赋值构造函数 2.1 默认构造函数 没有参数的构造函数,称为默认构造函数
阅读全文
摘要:#include <iostream> #include <graphics.h> #include <conio.h> #include <stdlib.h> using namespace std; #define SCREEN_WIDTH 960 //初始化屏幕宽度 #define SCREE
阅读全文
摘要:#pragma once //防止整个头文件被包含多次 #ifndef … #define … #endif //防止#ifndef 和#endif 包围的代码包含多次
阅读全文
摘要:typedef 是一个高级数据特性,它可以为某一类型自定义名称, 即类型的别名。 #include <stdio.h> typedef char* STRING; //有分号,宏#define STRING char* 没有分号 typedef enum gender { MAN, WOMAN }g
阅读全文
摘要:一 枚举(enum)变量的定义 //1.先定义枚举类型,再定义枚举变量 enum _season { spring, summer, autumn, winter }; enum _season s; //2.定义枚举类型的同时定义枚举变量 enum _season { spring, summer
阅读全文
摘要:一 结构体定义 struct 结构名 { 成员类型 成员名; 成员类型 成员名; }; // 注意这里要有分号 //例: struct student { char name[16]; int age; char tel[12]; }; 二 结构体初始化 #include <iostream> us
阅读全文
摘要:一 为什么使用宏 提高代码的可读性和可维护性 避免函数调用,提高程序效率 二 什么是宏 它是一种预处理器指令,在预编译阶段将宏名替换为后面的替换体 三 宏的定义和使用 //多行可用 \ 延续 //1.不带参宏 #define ADDRESS "广东省深圳市\ 宝安区" //2.带参宏 #define
阅读全文
摘要:EasyX Graphics Library 是针对 Visual C++ 的免费绘图库, 下载地址:https://easyx.cn/
阅读全文
摘要:项目需求: 地震监测系统主要是利用地震检波器收集到的地壳运动信息,从而预测和确定地震的震中以及强度 。 预测方法: 地震检波器每隔固定的时间间隔采样一次预测地震的能量数据,并保存到文件中,地震监测 系统会从文件中读取相应的能量数据,测试在给定的时间点上,一个短时间窗口内的取样值 与一个长时间窗口内取
阅读全文
摘要:一 VisualC++ debugger 和 CRT 库 第一步: 包含以下头文件 #define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h> 第二步: 接管 new 操作符 #ifdef _DEBUG #ifndef DBG_
阅读全文
摘要:一 申请的内存多次释放 #include <iostream> using namespace std; int main() { int* p = new int[5]; *(p+0) = 0; cout << *(p + 0) << endl; delete[] p; //... 此处省略n行代
阅读全文
摘要:函数返回值使用指针时可以返回函数内部的动态分配内存地址,局部静态变量地址,以及全局静态变量和外部变量地址 一 返回函数内部动态内存分配地址 #include <iostream> using namespace std; int* add(int x, int y) { int* p = new i
阅读全文
摘要:数据类型有:int float等 存储类型有:自动变量(auto)、静态变量 (static)、外部变量(extern)以及寄存器变量(register) auto: 函数中所有的非静态局部变量。 register: 一般经常被使用的的变量(如某一变量需要计算几千次)可以设 置成寄存器变量,regi
阅读全文
摘要:一 malloc 和 free 函数 // 分配基础类型 int *p3 = (int *)malloc(sizeof(int)); free p3; // 分配数组变量 int *p1 = (int *)malloc(sizeof(int) * 10); *(p1 + 9) = 5; free(p
阅读全文
摘要:一 通过返回动态内存的指针 #include <iostream> using namespace std; int* test(int count) { int* p = (int*)malloc(sizeof(int) * count); if (p) { *(p + 0) = 5; } ret
阅读全文
摘要:在函数的址传递过程中,都应该习惯性考虑做空指针判断,否则很容易出现莫名奇妙的问题。这次就是因为忘了这茬导致半天找不到问题所在,做个文章警醒一下自己,也提醒大家注意这些小细节 如下图: 实际上是因为是因为忘了做空指针判断,加上之后问题解决: #include <iostream> using name
阅读全文
摘要:|代码区| | | |常量区| |全局数据区| |堆区| |栈区| 1、栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量值等。 2、堆区(heap):一般由程序员分配释放,随叫随到,挥之即走。 3、全局/静态区(static):全局变量和静态变量的存储是放在一起的,在程序编译时分
阅读全文
摘要:双色球是7个球组成,前6个球是一个颜色,后6个球是一个颜色,从文件中读取一段时间内的双色球中奖号码,统计每组号码前6个球出现的概率。 // ball.txt文件 8 11 17 23 32 33 10 4 5 7 10 12 22 16 3 13 15 18 21 33 16 4 8 9 13 28
阅读全文
摘要:一 引用的定义 引用可以看作一个已定义变量的别名 引用的语法:Type& name = var; // 引用的定义 int a = 10; int& b = a; cout << "a:" << a << " a的地址: " << &a << endl; cout << "b:" << b << "
阅读全文
摘要:深入理解 C++ String 在内存中的布局: | 名称 |x86字节数 | x64字节数 | | | | | | 分配器 Allocator |4 |8 | | 原始字符传 Data 位置 | 15+1 最多包含15个字符加一个结束符‘\0’ | 15+1 最多包含15个字符加一个结束符‘\0’
阅读全文
摘要:一 为什么使用指针 函数的值传递,无法通过调用函数,来修改函数的实参 被调用函数需要提供更多的“返回值”给调用函数 减少值传递时带来的额外开销,提高代码执行效率 二 指针的定义与读写 // 指针的定义 int age = 0; int *p = NULL; // p是一个指针,p的值就是一个整数的地
阅读全文
摘要:#include <iostream> #include <time.h> #include <Windows.h> int main() { time_t start; time_t end; time(&start); // 1970 年 1 月 1 日 0 时 0 分 0 秒 至今的秒数 fo
阅读全文
摘要:一 对输入进行体检 1 检查输入源(如:文件,网络、控制台等)数据的合法性 2 检查每一个函数输入参数的合法性 处理方式:一旦非法输入被发现,那么应该根据情况进行处理。防御式编程的最佳的形式是在一开始就不引入错误 二 对非预期错误使用断言 1 空指针 2 输入或者输出参数的值不在预期范围内 3 数组
阅读全文
摘要:#include <iostream> #include <iomanip> #define MAX 10 using namespace std; int main() { int array[MAX][MAX] = { 0 }; // 给数组赋值 for (int i = 0; i < MAX;
阅读全文
摘要:项目要求:从文件中读取数据,判断并输出峰点 // map.txt 6 7 5039 5127 5238 5259 5248 5310 5299 5150 5392 5410 5401 5320 5820 5321 5290 5560 5490 5421 5530 5831 5210 5110 542
阅读全文
摘要:#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <stdio.h> #include <string> #include <Windows.h> #include <conio.h> #include "hacker.h" #
阅读全文
摘要:头文件:<conio.h> 在输入密码时可以用getch()函数来达到不显示密码的效果 int main() { char pwd[64] = { 0 }; int index = 0; cout << "请输入密码:"; while (1) { char c = _getch(); if (c =
阅读全文
摘要:在C语言中没有string类型,可以通过string类对象的成员函数c_str()把string对象转换成C中的字符串样式。 int main() { string str = "zhangsan"; char cstr[64] = { 0 }; strcpy(cstr, str.c_str());
阅读全文
摘要:一 生成lib文件 使用vs2019创建工程的时候选择静态库 这里我们做一个简单加减乘除的库文件 // TestLib1.h #pragma once #ifndef _TESTLIB_H_ #define _TESTLIB_H_ int testAdd(int a, int b); int tes
阅读全文
摘要:用system()函数调整控制台大小 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <Windows.h> #define WIDTH 40 #define HEIGHT 15 int main() { char cmd[12
阅读全文
摘要:第1关 题目:用户输入行数和列数,在控制台打印出对应行数和列数的* #include <iostream> using namespace std; // 用户输入行数和列数,在控制台打印出对应行数和列数的* int main() { int rows = 0; int cols = 0; cout
阅读全文
摘要:头文件<iomanip> setw(位数) setfill(指定字符):是对全局有效的 对齐方式:左对齐left,右对齐:right。默认是右对齐 直接写left,right或者写setiosflags(ios::left),setiosflags(ios::right) 全局对齐:cout.set
阅读全文
摘要:代码: #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <stdio.h> #include <Windows.h> #include <graphics.h> #include <MMSystem.h> // 播放音乐需要的
阅读全文
摘要:mciSendString函数向MCI设备发送一个命令字符串。命令发送到的设备在命令字符串中指定。 mciSendString()可以用来播放音乐 #include <Windows.h> #include <MMSystem.h> // 播放音乐需要的头文件 #pragma comment(lib
阅读全文
摘要:用控制台写一个登录页面,密码为6位数字,再写一个暴力破解的程序 // client.cpp #include <iostream> #include <Windows.h> #include <string> using namespace std; int main() { string pwd;
阅读全文
摘要:goto语句 #include <iostream> #include <Windows.h> #include <string> using namespace std; int main() { string ret; for (int i = 0; i < 5; i++) { cout <<
阅读全文
摘要:一 while语句 while (条件) { 循环体 } #include <iostream> #include <Windows.h> using namespace std; int main() { int sum = 0; int i = 1; while (i <= 100) { sum
阅读全文
摘要:main函数写成了mian
阅读全文
摘要:#include <iostream> #include <Windows.h> using namespace std; int main() { int num = 0; cout << "请输入1-7的一个整数:"; cin >> num; switch (num) { case 1: cou
阅读全文
摘要:一 if语句 #include <iostream> #include <Windows.h> using namespace std; int main() { int year = 0; cout << "你来公司几年了?"; cin >> year; if (year > 5) { cout
阅读全文
摘要:一 隐式类型转换 1.1 算数转换 (+,-,*,/,%) char , int, long, long long, float, double 15 + 3.14 ⇒ 15.0 + 3.14 1.2 赋值转换 #include <stdio.h> int main(void) { int x; /
阅读全文
摘要:条件 ? 表达式1 :表达式2 如果条件为真,就取表达式1作为整个表达式的值 如果条件为假,就取表达式2作为整个表达式的值 #include <iostream> #include <Windows.h> using namespace std; int main() { int salary =
阅读全文
摘要:头文件iostream中提供控制符: dec: 指示cout以10进制输出。 hex: 指示cout以16进制输出。 oct: 指示cout以8进制输出。 但是二进制并没有类似的控制符。需要使用bitset把要输出的数本身,转变成二进制形式输出。 #include <iostream> #inclu
阅读全文
摘要:内存的基本单元是字节,一个字节有8个位 一 位与 & 对应位, 都是1, 结果才是1 #include <iostream> #include <Windows.h> #include <bitset> using namespace std; int main() { int num1 = 0xa
阅读全文
摘要:连续输入多行字符串(文本),统计中的行数,以及字符个数。
阅读全文
摘要:vs2019清空缓冲区的问题 rewind(stdin) 和 cin.ignore() c语言字符串 c++中的string变量 逻辑运算 与&& 或|| 非! 位运算 c++中数字的二进制,八进制,十进制和十六进制的输出 三目运算符 数据类型转换 if语句 switch...case 循环语句 g
阅读全文
摘要:练习1 连续读入多个单词,然后统计这些单词的总的长度、以及单词个数。 直到输入结束: (按下Ctrl +z, 就会输入一个特殊的字符:文件结束符EOF) 练习2 连续输入多行字符串(文本),统计中的行数,以及字符个数 暴力破解 控制台上跳舞 毕业 循环练习大闯关 黑客管理系统 数组练习--人工智能之
阅读全文
摘要:连续读入多个单词,然后统计这些单词的总的长度、以及单词个数。
直到输入结束:
(按下Ctrl +z, 就会输入一个特殊的字符:文件结束符EOF)
阅读全文
摘要:1.数组的初始化 2.c语言字符串的存储和初始化 3.c语言字符串的输入输出 4.strlen()和sizeof()
阅读全文
摘要:1. string变量的定义和初始化
2. string变量的输入输出
3. 读取一行getline(),判空empty(),大小size(),长度length()
4. string字符串的比较
5. string字符串的加法
阅读全文