c++
文章平均质量分 58
slicesss
自然规律,功能与物质的平衡
展开
-
C++重载、重定义、重写
整体概念图原创 2021-08-21 14:38:14 · 74 阅读 · 0 评论 -
手写纯链表实现简易实时操作系统
首先查找资料,发现没有这种写法,要不就是跑裸机,把各个外设初始化,然后进入while1中,执行各种计算,这是裸机系统,更高级一点的是使用了内部中断与外部中断,进行pc跳转,进入中断,返回的while1继续执行后续循环。但是,这样的程序while中的逻辑与每个指令的调用次数的相同的,若有些计算不需要那么多的计算次数,而有些需要多次计算呢,解决办法是有的,有人会说,使用定时器中断啊,这确实是一个办法,但这种方式进行指针跳转,消耗的时间比较多,中断更适合进行一些flag标志类的触发条件,而系统大多是时间还是在w原创 2021-07-09 17:19:33 · 312 阅读 · 2 评论 -
c++分析总结
面向对象编程就是把问题分解成各个对象,建立对象,为了描述对象的属性1.名称冲突解决—命名空间解决跨文件下的命名空间主要考虑作用域main.c#include <iostream>#include <new_namespace.h>using namespace std;using namespace NS2;namespace NS1 { void func1(void) { cout << " NS1 func1()原创 2021-07-03 22:38:53 · 195 阅读 · 2 评论 -
Qt Creator创建子线程的方法
mainwindow.cpp/* 主窗口(主线程)的构造函数 */MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); //创建的次线程 thread = new mythread1(this); //连接次线程和画界面的主线程,次线程时间更新后,会发信号给主线程并调用 connect(t原创 2021-05-15 21:18:44 · 1549 阅读 · 3 评论 -
qt界面编写
ui->label_xly->setPixmap(QPixmap(":/images/xly.png"));QMovie *myMovie = new QMovie(":/images/haizeiwang.gif");ui->label_gif->setMovie(myMovie);myMovie->start();thread = new mythread1(this);//connect(thread,&mythread1::isDone,this,原创 2021-05-15 20:32:24 · 158 阅读 · 0 评论 -
c++ STL的容器类
容器库容器库是类模板与算法的汇集,允许程序员简单地访问常见数据结构,例如队列、链表和栈。有三类容器——顺序容器、关联容器和无序关联容器——每种都被设计为支持不同组的操作。容器管理为其元素分配的存储空间,并提供直接或间接地通过迭代器(拥有类似指针属性的对象)访问它们的函数。大多数容器拥有至少几个常见的成员函数,并共享功能。特定应用的最佳容器不仅依赖于提供的功能,还依赖于对于不同工作量的效率。顺序容器顺序容器实现能按顺序访问的数据结构。array(C++11)静态类的连续数组(类模板)原创 2021-05-11 21:36:09 · 234 阅读 · 1 评论 -
c++友元函数和友元类
友元函数友元函数不是本类的成员函数,而是一个外部函数友元函数的标志就是在类内部加friend关键字来声明友元函数声明的位置不要求,写在private或者protected或者public内都可以,反正只要有声明就行一个外部函数成为类的友元后,访问权限被扩展了,等同于类的内部成员函数了友元函数是单向的,反过来是不行的友元函数就好像在类的封装和访问权限保护上打了个“洞”,所以是对面向对象的一种破坏,所以不能滥用友元函数的2种实现友元函数为外部函数原创 2021-04-19 14:33:22 · 334 阅读 · 0 评论 -
c++的静态类和静态成员
内容在未来填充原创 2021-04-17 18:34:30 · 108 阅读 · 0 评论 -
c++运算符重载
运算符重载函数class class_name{public: int x; // x轴坐标 int y; // y轴坐标 class_name(); class_name(int x0, int y0); // 定义类的时候,提供一个运算符重载的对应解析函数即可 class_name operator+(const class_name& other);};class_name class_name::operator+(const class_na原创 2021-04-16 20:25:56 · 158 阅读 · 0 评论 -
c++继承和多态
C++类的继承语法如下:class 派生类名:访问控制 基类名1,访问控制 基类名2,访问控制 基类名n{ // 成员变量和成员方法列表(除了构造和析构之外的成员方法)};派生类又叫子类,基类又叫父类C++类中的访问权限public类内部可以访问,类的外部可以访问private类内部可以访问,类的外部不能访问protected类内部可以访问,类的外部不能访问子类public继承父类的public成员,经过public继承后,在子类中是public原创 2021-04-14 16:11:54 · 158 阅读 · 0 评论 -
c++构造函数与析构函数
C++ 构造函数字面意思是用来构造对象的函数,可以理解为语言自带的一种hook函数(回调函数),当对象产生时constructor会自动被调用,一般用于初始化class的属性、分配class内部需要的动态内存一般用法默认C++会自动提供默认的构造函数,也可以显式提供默认构造构造不需要返回值类型,构造函数可以带参或不带参构造函数可以重载C++ 析构函数字面意思是用来析构对象的函数,可以理解为语言自带的一种hook函数(回调函数),一般用于回收constructor中分配的原创 2021-04-08 19:59:37 · 323 阅读 · 0 评论 -
c++关键字
C++的字符类型charchar字符类型,一般占1字节,表示字符(ASCI或unicode字符)从C++14开始char默认是unsigned还是signed取决于目标平台,如arm默认unsigned,而X64默认是signed,建议如果在意符号最好显式使用unsigned char或signed charchar类型cout输出默认为字符,而int类型cout输出默认为数字1 == sizeof(char) <= sizeof(short) <= sizeo原创 2021-03-30 16:06:57 · 204 阅读 · 0 评论 -
c++基本编程
何为命名空间1. 命名空间namespace,是c++引入的一种解决全局变量和函数名冲突的机制2. c语言没有namespace3. namespace的两个关键点:名称冲突,如何合法访问变量c语言如何解决名称冲突多个c文件,全局变量和函数都添加extern链接属性,因此名称冲突是客观存在的解决办法:1. C文件不要太大,同一个文件由一个人写2. 每个c文件中所有全局变量和函数前都加统一的该.c名字的唯一前缀3. 不需要被除自己以外的文件访问的全局变量和函数都加static4. 但是方原创 2021-03-29 19:51:04 · 373 阅读 · 0 评论 -
c++申请堆内存
linux平台中new内部是通过malloc实现的,new比malloc多一个调用构造函数malloc只是返回一块荒地给你,而new会给你修好路盖好别墅规划好田地new和malloc的区别int main(void){ // C++中用新关键字new和delete替代了malloc和free int *p = new int(53); // p本身分配在栈上,p指向的是一个int类型的数,占4字节 cout << "p = " << p << ", *p原创 2021-03-30 22:58:31 · 1381 阅读 · 0 评论