C/C++学习笔记
文章平均质量分 60
迷月星辰
这个作者很懒,什么都没留下…
展开
-
C++学习笔记——(十)智能指针,类型转换,宏
注:编码工具是CLion+Cygwin64智能指针 智能指针可以用于自动回收new方式创建的对象。使用前需要先导入memory头文件。shared_ptr#include <iostream>using namespace std;#include <memory>class Test{public: ~Test(){ cout << "Test析构函数" << endl; }};...原创 2021-12-01 18:56:14 · 1629 阅读 · 0 评论 -
C++学习笔记——(九)引用作为左值,线程
注:编码工具是CLion+Cygwin64目录引用作为左值线程用法main函数默认不等待线程pthread_join互斥锁条件变量引用作为左值#include <iostream>using namespace std;class RefTest{private: string prop;public: RefTest(string prop): prop(prop){} string & getProp原创 2021-11-28 17:27:43 · 237 阅读 · 0 评论 -
C++学习笔记——(八)map容器、for_each、预定义函数
注:编码工具是CLion+Cygwin64目录mapmultimapfor_each对象存入后和从容器中取出的细节预定义函数map map会对key进行排序。#include <iostream>using namespace std;// 先导入头文件#include <map>int main(){ map<int, string> m; // map的集中插入元素的方式 m...原创 2021-11-27 17:52:07 · 2680 阅读 · 1 评论 -
C++学习笔记——(七)STL(Standard Template Library)与函数谓词
注:编码工具是CLion+Cygwin64目录STL概念vector初始化添加元素访问元素修改元素删除元素遍历元素stackqueuepriority_queuelistset谓词STL概念 全称Standard Template Library,标准模板库,类似于Java的集合框架。 与Java的集合框架不同的是,Java集合框架把集合的所有功能全部封装在集合类中,而C++则把功能拆分到STL包、算法包...原创 2021-11-25 18:58:22 · 809 阅读 · 0 评论 -
C++学习笔记——(六)多态、纯虚函数、模板函数
注:编码工具是CLion+Cygwin64目录类属性为对象时的初始化方式有继承关系时,子类和父类的构造和析构函数执行顺序多态几种常见说法动态多态(重写)静态多态(重载)纯虚函数类中函数部分为纯虚函数类中函数全部为纯虚函数全纯虚函数类模拟登陆回调模板函数类属性为对象时的初始化方式#include <iostream>using namespace std;class Pet{public: string name;原创 2021-11-24 21:43:16 · 1039 阅读 · 0 评论 -
C++学习笔记——(五)操作符重载和类的继承
注:编码工具是CLion+Cygwin64目录操作符重载+/-前置++/后置++<<[]类的继承一般示例私有和公有继承多继承虚继承操作符重载 用操作符实现对象之间的运算,简化对象的操作。+/-#include <iostream>using namespace std;class Point{public: int x, y; Point(int x, int y): x(x),...原创 2021-11-14 22:03:05 · 737 阅读 · 0 评论 -
C++学习笔记——(四)可变参数、static关键字、this关键字、友元函数和友元类
注:编码工具是CLion+Cygwin64目录可变参数static关键字非类中static变量和函数类中的static变量和函数this关键字友元友元函数友元类可变参数#include <iostream>#include <cstdarg>using namespace std;void test(int count, ...) { // 第一步 va_list vl; // 第二步 va_原创 2021-11-13 22:10:40 · 465 阅读 · 0 评论 -
C++学习笔记——(三)深拷贝和浅拷贝
注:编码工具是CLion+Cygwin64拷贝构造函数 C++在给一个对象引用赋值、函数返回对象或者对象作为函数参数传递的时候,会调用类的拷贝构造函数创建一个新的对象。赋值#include <iostream>using namespace std;class Student {public: char *name; Student(char *name) : name(name) { cout << "构造...原创 2021-11-13 12:36:59 · 830 阅读 · 0 评论 -
C++学习笔记——(二)命名空间、构造函数、析构函数、拷贝构造函数、常量指针、指针常量、常量指针常量
注:编码工具是CLion+Cygwin64命名空间定义 命名空间内部可以定义变量和函数。#include <iostream>namespace metaspace{ char * name = "元空间"; void show(){ std::cout << "name = " << name << std::endl; }}内部成员的两种访问方式方式一:命名...原创 2021-11-10 21:39:38 · 643 阅读 · 0 评论 -
C++学习笔记——(一)与C区别、常量、引用、函数重载、默认形参、类初探
注:编码工具是CLion+Cygwin64目录与C区别常量C语言C++引用与常量引用通过引用方式交换两个变量值常量引用函数重载C语言C++默认形参无形参变量名的特殊写法类初探C++的布尔类型与C区别C语言是面向过程的,C++是面向对象的。C语言环境不能运行C++代码,C++环境可以运行C代码。C语言的常量是伪常量,C++的常量是真常量。C语言不允许函数重载,C++允许函数重载。常量C语言 可以通过指针的...原创 2021-11-07 22:11:29 · 144 阅读 · 0 评论 -
C语言学习笔记——(六)文件
注:编码工具是CLion+Cygwin64文件的读写 fopen函数,以特定模式打开指定文件。 模式:r、w、rb、wb、rw。 读文件的时候,如果指定文件不存在会报错。 写文件的时候,如果指定文件不存在会创建文件。 fclose函数,文件操作完成后,要调用此函数关闭文件,释放资源。读文件...原创 2021-11-06 19:30:32 · 673 阅读 · 0 评论 -
C语言学习笔记——(五)结构体、枚举的简单示例
注:编码工具是CLion+Cygwin64目录结构体定义结构体及变量另一种定义结构体变量的方式结构体的两种成员变量初始化方式嵌套指针动态开辟数组别名枚举结构体定义结构体及变量struct Person{ char name[10]; int age; char gender;};int main(){ struct Person person; printf("name = %s, age = %d,原创 2021-11-06 12:35:52 · 178 阅读 · 0 评论 -
C语言学习笔记——(四)指针进阶——字符串操作
注:编码工具是CLion+Cygwin64目录字符串的两种定义方式自定义获取字符串长度方法方式一:方式二:字符串转数字比较查找和包含拷贝和拼接大小写转换字符串的两种定义方式 方式一:字符数组 此种方式需要在最后一个元素后面添加'\0',C语言的字符串以'\0'结尾。 方式二:字符指针 此种方式隐式添加'\0'。#include <stdio.h&...原创 2021-10-31 21:46:12 · 350 阅读 · 0 评论 -
C语言学习笔记——(三)静态开辟内存和动态开辟内存
注:编码工具是CLion+Cygwin目录补充知识:C语言的布尔类型——非零即true。静态开辟内存静态开辟内存上限测试:静态开辟内存特点:静态开辟内存自动开辟和自动释放测试:动态开辟内存动态开辟内存特点:动态开辟内存的使用场景:动态开辟的内存未回收示例:动态开辟的内存用完回收示例:realloc补充知识:C语言的布尔类型——非零即true。NULL==0。#include <stdio.h>int main(){ i原创 2021-10-31 11:30:12 · 772 阅读 · 0 评论 -
C语言学习笔记——(二)指针运算和函数指针
注:编码工具是CLion+Cygwin64目录数组与数组指针多个操作系统平台兼容的for循环写法:C语言数组的定义与for循环遍历方式一:方式二:数组的内存地址与首元素内存地址C语言数组没有下标越界用指针方式遍历数组用指针方式给数组元素赋值指针类型有什么作用?函数指针案例一:案例二:多级指针 指针存放的是内存地址,一级指针存放的是普通变量的内存地址,二级指针存放的是一级指针的内存地址,三级指针存放的是二级指针的内存地址。//...原创 2021-10-30 21:07:50 · 203 阅读 · 0 评论 -
C语言学习笔记——(一)基本数据类型、字符串、指针入门
注:编码工具是CLion+Cygwin64基本数据类型#include <stdio.h>// 基本数据类型int main() { short s = 255; char c = 'A'; int i = 1; long l = 13; float f = 3.0f; double d = 3.0; printf("s = %d\n", s); printf("c = %c\n", c); printf("原创 2021-10-30 12:31:52 · 126 阅读 · 0 评论