![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++基础
文章平均质量分 81
新手学习C++
::呵呵哒::
菜鸡一个
展开
-
浅谈深拷贝和浅拷贝
如果不利用深拷贝在堆区创建新内存,会导致浅拷贝带来的重复释放堆区问题: p1在进行有参初始化时,在堆区申请了一个空间,p1的height指针就指向这个空间,p2在进行拷贝初始化时使用的是编译器提供的浅拷贝,浅拷贝是对成员变量的简单赋值,指针传递的是地址,所以p2的height指针=p1的height指针,即两个height指针指向堆区的同一个地址,函数test01结束后,p1和p2把同一个空间释放了两次,所以程序崩了。但是深拷贝还有一个问题,就是如果要拷贝的很多的话,会很慢,这就要移动拷贝构造函数了。原创 2024-05-05 21:37:02 · 626 阅读 · 0 评论 -
C++可调用对象的绑定器和包装器
绑定器如果调换参数位置也是可以的,如果现有的函数类型与要求的函数类型不同,那么可以用它对现有的函数对象进行转换,生成新的函数对象,与要求的函数类型匹配上.C++虚函数在执行过程中会跳转两次(先查找对象的函数表,再次通过该函数表中的地址找到真正的执行地址),这样的话,CPU会跳转两次,而普通函数只跳转一次。类的非静态成员函数有地址,但是,只能通过类的对象才能调用它,所以,C++对它做了特别处理。的成员函数、可被转换为函数的类的对象,统称可调用对象或函数对象。lambda函数的本质是仿函数,仿函数的本质是类。原创 2024-04-24 17:43:03 · 406 阅读 · 0 评论 -
C++线程-条件变量和生产者消费者模型
这个内容比较重要,并且面试很容易被问道。所以把他单独拿出来了。原创 2024-04-23 21:32:14 · 275 阅读 · 0 评论 -
C++线程
在C++11之前,C++没有对线程提供语言级别的支持,各种操作系统和编译器实现线程的方法不一样。C++11增加了线程以及线程相关的类,统一编程风格、简单易用、跨平台。原创 2024-04-20 21:07:55 · 74 阅读 · 0 评论 -
C++11新标准
稳定性兼容性易用性高性能安全性多核编程long longlong longintlonglong longintlonglong longchar16_tchar32_tchar16_tchar32_tdemoSTL容器提供了将头文件提供了对模板类的支持,这个类包含成员函数begin()和end()。除了用于构造函数外,还可以将自动推导类型autodecltype关键字函数后置返回类型模板别名空指针nullptr空指针是不会指向有效数据的指针。以前C/C++原创 2024-04-16 21:02:22 · 133 阅读 · 0 评论 -
C++异常和断言
在try语句块中,如果没有发生异常,执行完try语句块中的代码后,将继续执行try语句块之后的代码;如果发生了异常,用throw抛出异常对象,异常对象的类型决定了应该匹配到哪个catch语句块,如果没有匹配到catch语句块,程序将调用abort()函数。如果try语句块中用throw抛出异常对象,并且匹配到了catch语句块,执行完catch语句块中的代码后,将继续执行catch语句块之后的代码,不会回到try语句块中。原创 2024-04-16 17:18:07 · 578 阅读 · 1 评论 -
C++文件操作
对于open()成员函数的参数,可以用C风格的字符串,也可以用string.创建文件输出流对象,打开文件,如果文件不存在,则创建它。对于,前三个都是清空文件,然后再写,也就是覆盖写。ios:app则是继续在他的后面写也就是追加写。原创 2024-04-14 17:06:19 · 420 阅读 · 1 评论 -
C++-智能指针
首先我们讲一下普通指针的不足newnew[]deletedelete[]原创 2024-04-10 21:32:23 · 146 阅读 · 1 评论 -
C++-STL算法
如果说这个vector中装的是string类型,那么这个迭代器函数就不能用了,所以我们可以直接弄成一个模板函数然后就可以了然后我们在foreach中自定义表白函数。原创 2024-04-10 21:29:09 · 155 阅读 · 1 评论 -
C++-STL容器
一些基础的就不说了string();原创 2024-04-09 15:45:58 · 198 阅读 · 0 评论 -
C++预处理、编译、命名空间、类型转换
代码:girls.h。原创 2024-04-08 11:47:15 · 303 阅读 · 1 评论 -
C++泛编程-类模板
类模板是通用类的描述,使用任意类型(泛型)来描述类的定义。使用类模板的时候,指定具体的数据类型,让编译器生成该类型的类定义。函数模板建议用typename描述通用数据类型,类模板建议用class。new。原创 2024-04-05 17:40:43 · 116 阅读 · 1 评论 -
C++泛编程-函数模板
例如这个代码:假如我们有很多数据类型,那么我们就得定义很多个swap()函数函数模板是通用的函数描述,使用任意类型(泛型)来描述函数。编译的时候,编译器推导实参的数据类型,根据实参的数据类型和函数模板,生成该类型的函数定义。生成函数定义的过程被称为实例化。在C++98添加关键字typename之前,C++使用关键字class来创建模板。如果考虑向后兼容,函数模板应使用typename,而不是class。函数模板实例化可以让编译器自动推导,也可以在调用的代码中显示的指定。原创 2024-04-05 17:39:02 · 791 阅读 · 1 评论 -
C++泛编程-自动推到类型auto
如果不指定变量的数据类型,那么auto会根据等号右边自动推导出变量的数据类型。全新的含义,不再用于修饰的变量,而是作为一个类型指示符指示编译器在编译时推导。可以用auto pf1=func;代替上面很长的函数指针申明。2. 在模板中,用于声明依赖模板参数的变量。关键字用于修饰变量(自动存储的局部变量)。3. 函数模板依赖模板参数的返回值。4. 用于lambda表达式中。在Linux平台下,编译需要加。在C语言和C++98中,在C++11中,赋予了。声明的变量的数据类型。原创 2024-04-05 14:41:57 · 172 阅读 · 1 评论 -
C++运算符重载
例如:导演要求:每轮表演之后,给超女加上她的得分首先我们用C和友元类的方法实现但是现在C++有更好的方法:我们定义这个函数,这里也弄成友元类然后我们就可以g+30;原创 2024-03-31 18:02:58 · 255 阅读 · 1 评论 -
C++类继承
对于1:我们设计一个海选报名者类,这个类里面的成员函数只有姓名和联系方式。报名时需要唱一首歌,长的好听就可以留下,正式成为一名超女,所以我们还有一个超女类,继承海选报名表类。原创 2024-04-02 15:59:12 · 447 阅读 · 1 评论 -
C++类多态
含有纯虚函数的类被称为抽象类,不能实例化对象,可以创建指针和引用。派生类必须重定义抽象类中的纯虚函数,否则也属于抽象类。原创 2024-04-02 16:00:34 · 409 阅读 · 1 评论 -
C++类与对象(友元类)
静态成员变量在程序中只有一份(生命周期与程序运行期相同,存放在静态存储区的),不论是否创建了类的对象,也不论创建了多少个类的对象。B是类A的友元,类C是B的友元,类C不定是类A的友元,要看类中是否有相应的声明。如果类中没有定义拷贝构造函数,编译器将提供一个拷贝构造函数,它的功能是把已存在对象的成员变量赋值给新对象的成员变量。指针存放了对象的地址,被作为隐藏参数传递给了成员函数,指向调用成员函数的对象(调用者对象)。如果要访问类的私有成员变量,调用类的公有成员函数是唯一的办法,而类的私有成员函数则无法访问。原创 2024-03-28 21:41:03 · 1325 阅读 · 0 评论 -
C++函数
默认参数是指调用函数的时候,如果不书写实参,那么将使用的一个缺省值。原创 2024-03-28 16:47:39 · 261 阅读 · 0 评论 -
C++引用
引用变量是C++新增的复合类型。引用是已定义的变量的别名。引用的主要用途是用作函数的形参和返回值。实际上这个引用就是变量的运行结果是:注意看这代码的意思是b的值赋给ra和a,而不是ra又变成b的引用。原创 2024-03-28 11:35:21 · 769 阅读 · 0 评论 -
C++枚举类型
枚举是一种创建符号常量的方法。在下边代码中赋初值的时候只能是。原创 2024-03-27 20:58:08 · 136 阅读 · 0 评论 -
C++结构体指针和结构体中的指针
想必大家都知道结构体是什么了,这里就不做过多阐述了。原创 2024-03-27 20:15:15 · 484 阅读 · 0 评论 -
C++数组指针、new创建数组
对于一维数组想必大家都很熟悉了,就不做太多的阐述了。原创 2024-03-27 17:11:45 · 978 阅读 · 0 评论 -
C++指针进阶
数据类型 *p这个为指针变量,实际上指针变量所指向的就是变量的地址解引用*p,我们可以通过解引用*p来改变指针所指向的地址中的变量值。原创 2024-03-27 15:45:42 · 922 阅读 · 0 评论 -
1.学习路线
C++后端/c++后台。原创 2024-03-19 15:33:43 · 249 阅读 · 1 评论