丶布布
机器视觉工程师、人工智能领域优质创作者、内容合伙人、CSDN博客专家、阿里云专家博主。目前工作涉及视觉相关的缺陷检测、定位识别、芯片封装方面、深度学习、3D视觉等方面的内容,欢迎大家一起学习交流。
展开
-
[C++ 从入门到精通] 20.对象移动、移动构造函数、移动赋值运算符
丶布布转载注明出处。原创 2024-03-17 13:37:55 · 349 阅读 · 0 评论 -
[C++ 从入门到精通] 19.临时对象深入探讨、解析,提高性能手段
有些临时对象是系统自己产生的,也有一些临时对象是因为代码的书写问题而产生的。因为临时对象会额外消耗系统资源,所以编写代码的原则就是产生的临时对象越少越好。此外,临时对象一般都是在栈上,所以一般不需要手动去释放。为什么要了解临时对象?因为临时对象的产生和销毁都是有成本的,都会影响程序的执行性能和效率,所以如果能有效地减少临时对象的产生,那么无疑意味着程序性能和效率的提升。本文主要讨论侧重点就是如果通过优化代码来把临时对象优化掉,以提升程序性能。运行结果如下:⚠️ 请注意,我们看到语句在执行时调用了拷贝构原创 2024-03-10 11:12:55 · 345 阅读 · 0 评论 -
[C++ 从入门到精通] 18.左值、右值,左值引用、右值引用、move
丶布布转载注明出处。原创 2023-12-21 08:26:42 · 1410 阅读 · 8 评论 -
[C++ 从入门到精通] 17.基类与派生类关系的详细再探讨
基类指针可以用来new一个子类对象本质上是因为子类对象中含有基类的成分,因此,子类对象也可以当做是一个特殊的父类对象了。实际上,编译器在我们用多态时,帮我们做了隐式的,从派生类到基类的类型转化。而这种转换的好处就是,当需要用到基类引用的地方,你可以用这个派生类对象的引用来代替or当需要用到派生类引用的地方,你可以用这个基类引用来代替。因此我们就可以用多态这种知识来实现更加复杂的代码。原创 2023-12-20 09:17:36 · 1097 阅读 · 2 评论 -
[C++ 从入门到精通] 16.RTTI、dynamic_cast、typeid、虚函数表
丶布布转载注明出处。原创 2023-12-19 09:30:12 · 1394 阅读 · 4 评论 -
[C++ 从入门到精通] 15.友元函数、友元类、友元成员函数
丶布布转载注明出处。原创 2023-12-18 08:14:01 · 643 阅读 · 0 评论 -
[C++从入门到精通] 14.虚函数、纯虚函数和虚析构(virtual)
定义:在某基类中的成员函数:格式:;目的:通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数,实现多态性。多态性:下面来看一段简单的代码:通过和的这个接口,输出的结果也是我们预料中的,分别是和。但这是否真正做到了多态性呢?可以看出,父类指针明明指向的是子类对象但却是调用的父类的函数,这不是我们所期望的结果。那么解决这个问题,即通过一个父类指针或对象调用所有子类中的成员函数或变量,就需要用到虚函数:现在重新运行的代码,这样输出的结果就是和。毫无疑问,的成员函数已经成了虚函数,那么的成了虚函数了原创 2023-12-15 08:49:45 · 790 阅读 · 3 评论 -
[C++ 从入门到精通] 13.派生类、调用顺序、继承方式、函数遮蔽
派生类:在C++中,继承就是在一个已存在的类的基础上建立一个新的类。已存在的类称为「基类」,又称为「父类」;新建立的类称为「派生类」,又称为「子类」原创 2023-11-23 08:58:04 · 1126 阅读 · 4 评论 -
[C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
重载运算符:就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。原创 2023-11-21 09:05:34 · 411 阅读 · 12 评论 -
[C++ 从入门到精通] 11.拷贝构造函数
以免出现类成员没有被赋值就使用的情况发生。假设我们在类成员函数中,对成员变量进行赋初值,而在拷贝构造函数中,不对成员变量进行赋初值。原创 2023-11-13 14:59:53 · 3470 阅读 · 1 评论 -
[C++从入门到精通] 10.回顾类内初始化、默认构造函数、=default
丶布布转载注明出处。原创 2023-10-08 13:26:51 · 1156 阅读 · 1 评论 -
[C++从入门到精通] 9.inline、const、mutable、this和static
这种直接在类的定义中实现的函数,会被系统当做内联函数inline来处理,其他相关的知识点可以参考我们之前的讲解。原创 2023-08-07 08:16:49 · 1363 阅读 · 13 评论 -
[C++ 从入门到精通] 8.构造函数详解、explicit、初始化列表
在类中,有一种特殊的成员函数——构造函数:它的名字和类名相同,并且在创建类的对象的时候,构造函数函数会被系统自动调用原创 2023-07-22 13:06:19 · 1084 阅读 · 14 评论 -
[C++ 从入门到精通] 7.类基础、成员函数、对象拷贝
一. 综述在`C++`中,我们使用“类”来描述“对象”,它是用户自己定义的数据类型,可以说“类”的实现是`C++OOP`的核心。那么设计类时要考虑哪些问题?原创 2023-01-11 15:32:53 · 570 阅读 · 0 评论 -
[C++ 从入门到精通] 6.static_cast、dynamic_cast等显示类型转换
含义:隐式类型转换:系统自动进行,不需要开发人员介入。int m = 3 + 45.6; //48 因为返回的int型,所以系统自动去除掉小数点后面的值,结果为48,这种属于隐式转换类型。原创 2022-09-03 11:55:22 · 914 阅读 · 18 评论 -
[C++ 从入门到精通] 5.迭代器精彩演绎、失效分析及弥补、实战
迭代器是一种遍历容器内元素的数据类型(比如读`String`中的每个字符、`Vector`中的每个元素)。这种==数据类型有点像指针==,我们可以理解为使用迭代器不仅能指向容器中的某个元素,而且还能修改某个迭代器所指向的元素值。原创 2022-09-02 08:00:00 · 761 阅读 · 8 评论 -
[C++ 从入门到精通] 4.vector容器的相关用法
C++标准库:是类库和函数的集合,其使用核心语言写成,由C++标准委员会制定,并不断维护更新。Vector类型:C++标准库中的一员,它是能把其他对象装进来的一个集合或者动态数组,也被称为容器。...原创 2022-09-01 08:00:00 · 451 阅读 · 17 评论 -
[C++从入门到精通] 3.string类型的相关用法
基本类型:int、double等。复合类型:引用、指针、const等。标准库类型:string(可变长字符串的处理)、vector(一种集合或容器的概念)、迭代器。原创 2022-08-02 21:37:56 · 525 阅读 · 7 评论 -
[C++从入门到精通] 2.inline内联函数、const的相关用法
文章预览:一、返回类型二、内联函数inline三、函数杂合用法总结四、const char*、char const*、char* const三者的区别五、函数形参中带const一、返回类型前置类型: 在函数声明和定义的时候,把函数返回...原创 2022-05-10 08:28:12 · 1084 阅读 · 21 评论 -
[C++从入门到精通] 1.函数调用、访问权限、类简介(Struct和Class区别)
文章预览:一、结构回顾1、传值调用2、引用调用3、指针调用二、public和private权限修饰符三、类简介四、类的组织一、结构回顾结构:自定义的数据类型,不管C++/C结构都用Struct定义,与C中的结构相比,C++中的结构不仅...原创 2022-05-09 08:15:02 · 1388 阅读 · 35 评论