合集-C++学习

摘要:cout cout基本使用 # include <iostream> //< >包含系统头文件 input output straam using namespace std; //使用命名空间std cout << "Hello World!中文" << endl; //cout输出设备(终端,屏 阅读全文
posted @ 2023-09-22 18:26 爱吃冰激凌的黄某某 阅读(16) 评论(0) 推荐(0) 编辑
摘要:获取键盘输入 键盘输入一个int int data = 0; cout << "请输入int数据:"; cin >> data; //键盘输入, 根据data类型自动判断输入 cout << "data = " << data << endl; 键盘输入两个int int d1 = 0, d2 = 阅读全文
posted @ 2023-09-22 18:27 爱吃冰激凌的黄某某 阅读(7) 评论(0) 推荐(0) 编辑
摘要:类型初始化 int i = 0; char c = '\0'; float f = 0.0f; double d = 0.0; 阅读全文
posted @ 2023-09-22 18:27 爱吃冰激凌的黄某某 阅读(3) 评论(0) 推荐(0) 编辑
摘要:对数据的存取 存 负数在计算机以补码的方式存储 非负数在计算机以原码的方式存储 八进制数 以原码存储 十六进制 以原码存储 以十六进制查看内存数据存储情况 取 如果是对 无符号变量 进行取值,输出内存的原样数据。 如果是对有符号变量进行取值,系统会去看内存的最高位,如果最高位为0 表明正数,内存原样 阅读全文
posted @ 2023-09-22 18:27 爱吃冰激凌的黄某某 阅读(13) 评论(0) 推荐(0) 编辑
摘要:其他关键字 const 只读 只能初始化,不能赋值,只读 register 寄存器 如果变量被高频使用, 会自动将变量存储在寄存器中, 目的: 提高访问效率 如果用户想将变量直接放入寄存器中, 可以使用register修饰寄存器变量 volatile 强制访问内存 volatile int data 阅读全文
posted @ 2023-09-22 18:27 爱吃冰激凌的黄某某 阅读(6) 评论(0) 推荐(0) 编辑
摘要:随机数 #include<time.h> //设置随机数种子 srand(time(NULL)); //time(NULL)获取当前时间 cout << rand() << endl; //打印随机数 阅读全文
posted @ 2023-09-22 18:27 爱吃冰激凌的黄某某 阅读(10) 评论(0) 推荐(0) 编辑
摘要:位运算 左移 左边丢弃 右边补0 右移 右边丢弃 左边补0或1(由编译器决定, 算术右移补1, 逻辑右移补0) 阅读全文
posted @ 2023-09-22 18:27 爱吃冰激凌的黄某某 阅读(4) 评论(0) 推荐(0) 编辑
摘要:一维字符数组 一维字符数组初始化 逐个元素初始化(不推荐) char arr[5] = {'h', 'e', 'l', 'l', 'o'}; 以字符串方式初始化(推荐) char arr[6] = "hello"; 以上两种区别 sizeof测字符数组 char arr1[16] = ""; cou 阅读全文
posted @ 2023-09-22 18:27 爱吃冰激凌的黄某某 阅读(8) 评论(0) 推荐(0) 编辑
摘要:预处理 内存分区 全局变量: ​ 不初始化默认为0 ​ 作用范围:当前源文件和其他源文件都有效 ​ 存储区域: 全局区 局部变量 ​ 不初始化值不确定 静态局部变量 ​ 作用范围: 所在{} ​ 生命周期: 整个进程 ​ 存储区域: 全局区 ​ 不初始化默认为0 静态全局变量 ​ 作用范围: 当前源 阅读全文
posted @ 2023-09-22 18:27 爱吃冰激凌的黄某某 阅读(5) 评论(0) 推荐(0) 编辑
摘要:宏 编译四阶段: 预处理, 编译, 汇编, 链接 #define PI 3.14 在预处理结果 使用3.14替换所有出现PI的位置(宏展开) 不带参数的宏 #define PI 3.14 #define MY_STR "hello worldd" #define N 100 宏的作用范围: 从定义出 阅读全文
posted @ 2023-09-22 18:27 爱吃冰激凌的黄某某 阅读(26) 评论(0) 推荐(0) 编辑
摘要:动态空间申请 new和delete操作基本类型空间 new申请堆区空间, delete释放空间 int *p = NULL; p = new int; //从堆区申请int类型大小的空间 *p = 100; cout << "*p = " << *p << endl; //释放空间 delete p 阅读全文
posted @ 2023-10-05 21:35 爱吃冰激凌的黄某某 阅读(14) 评论(0) 推荐(0) 编辑
摘要:指针数组 数值指针数组 本质的数组, 只是每个元素都是指针 32位平台: char *arr1[4]; short *arr2[4]; int *arr3[4]; sizeof(arr1); //16B sizeof(arr2); //16B sizeof(arr3); //16B 字符指针数组 c 阅读全文
posted @ 2023-10-05 21:35 爱吃冰激凌的黄某某 阅读(7) 评论(0) 推荐(0) 编辑
摘要:数组指针 int arr[5] = {10, 20, 30, 40, 50}; int (*p)[5] = &arr; //数组指针 阅读全文
posted @ 2023-10-05 21:35 爱吃冰激凌的黄某某 阅读(8) 评论(0) 推荐(0) 编辑
摘要:c++对c的扩展 ::作用域运算符 ::使用全局变量 using namespace std; int a = 10; void test01() { int a = 20; cout << a << endl; //20 cout << ::a << endl; //10 } 命名空间 names 阅读全文
posted @ 2023-10-05 21:35 爱吃冰激凌的黄某某 阅读(13) 评论(0) 推荐(0) 编辑
摘要:类和对象 成员函数类内实现 #include <iostream> #include<string.h> using namespace std; class Person { private: char mName[32]; int mAge; public: void personInit(ch 阅读全文
posted @ 2023-10-05 21:36 爱吃冰激凌的黄某某 阅读(13) 评论(0) 推荐(0) 编辑
摘要:继承 派生类的定义 class 子类{}; class 子类:继承方式 父类 { //新增子类数据 }; 继承方式: private protected public(推荐) protected关键字: 基类的保护成员只在派生类的成员函数中能访问 所有父类私有在子类中不可访问, 公共继承保持不变, 阅读全文
posted @ 2023-10-11 16:58 爱吃冰激凌的黄某某 阅读(15) 评论(0) 推荐(0) 编辑
摘要:多态 静态多态(编译时多态, 早绑定): 函数重载, 运算符重载, 重定义 动态多态(运行时多态, 晚绑定): 虚函数 虚函数 父类指针 保存 子类空间地址 (带来的问题) #include <iostream> using namespace std; class Animal { public: 阅读全文
posted @ 2023-10-11 16:59 爱吃冰激凌的黄某某 阅读(13) 评论(0) 推荐(0) 编辑
摘要:模板 c++提供了函数模板(function template.)所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体制定,用一个虚拟的类型来代表。这个通用函数就成为函数模板。 凡是函数体相同的函数都可以用这个模板代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据 阅读全文
posted @ 2023-10-11 16:59 爱吃冰激凌的黄某某 阅读(12) 评论(0) 推荐(0) 编辑
摘要:类型转换 static_cast 静态类型转换 class Base{}; class Son: public Base{}; class Other{}; 1用于父类和子类之间指针或引用的转换 基本类型: 支持 int num = static_cast<int>(3.14); //ok 2上行转 阅读全文
posted @ 2023-10-15 14:43 爱吃冰激凌的黄某某 阅读(5) 评论(0) 推荐(0) 编辑
摘要:异常 int ret = 0; try { //throw 1; //throw 'A'; throw 2.14f; } catch(int e) { cout << "int异常值为: " << e << endl; } catch(char e) { cout << "char异常值为: " < 阅读全文
posted @ 2023-10-15 14:43 爱吃冰激凌的黄某某 阅读(6) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示