C/ C++
文章平均质量分 91
.
Super.Bear
https://github.com/Paraniod1
展开
-
Modern Effective C++前期知识(一)
Modern Effective C++带你体验前所未有的C++学习之旅!原创 2024-08-11 16:07:15 · 917 阅读 · 0 评论 -
常用 C++ STL 用法
C++ STL常用容器、迭代器和算法。原创 2024-07-28 15:49:16 · 686 阅读 · 0 评论 -
C++多线程
在 C++11 之前,多线程编程主要依赖于操作系统提供的 API,如 POSIX 线程(pthread)库。而从 C++11 开始,标准库引入了一组新的线程库,提供了更简洁和跨平台的多线程支持。C++11 标准引入了 头文件,使得多线程编程更加简洁和跨平台。新标准库提供了创建和管理线程、同步数据的工具。原创 2024-07-24 22:24:22 · 840 阅读 · 0 评论 -
Linux多线程C/C++
在 Linux 中,多线程编程可以显著提高应用程序的性能和响应能力。多线程允许程序在多个线程中并行执行,从而更好地利用多核处理器。Linux 中的多线程编程主要依赖于 POSIX 线程(pthread)库。这个库提供了创建、同步和管理线程的各种函数。使用 头文件可以实现多线程应用。原创 2024-07-24 21:39:25 · 1188 阅读 · 1 评论 -
C++ 智能指针
目录一、智能指针定义二、四种智能指针1.std::auto_ptr2.std::unique_ptr3.std::shared_ptr4.std::weak_ptr智能指针:将指针对象模板化实现了类型的通用,构成智能指针。 实现智能指针时需要考虑以下三个方面的问题:RAII(Resource Acquisition Is Initialization)是一种利用对象生命周期来控制程序资源(如内存、文件句柄、互斥量等等)的简单技术。 智能指针就是要模拟原生指针的行为,当将一个指针赋值给另一个指针时,目的就是原创 2022-10-21 20:22:04 · 898 阅读 · 0 评论 -
C++ 模板
在C++中,函数重载使得用于交换不同类型变量的函数可以拥有相同的函数名,并且传参使用引用传参。但是,这种代码仍然存在它的不足之处。C++引入模板,建立通用的模具,提升了代码的复用性,实现类型通用,降低代码的冗余度。模板可以为一种算法定义不同类型的版本。原创 2022-10-17 23:28:08 · 1261 阅读 · 0 评论 -
c++ 类型处理
C++中类型转换处理原创 2022-10-15 14:29:16 · 916 阅读 · 0 评论 -
C++ IO流
IO流包括:标准IO流,字符串流,文件流。C++流是指信息从外部输入设备向计算机内部输入和从计算机内部向外部输出设备输出的过程。这种输入输出的过程被形象的比喻为“流”。原创 2022-10-15 12:26:55 · 1138 阅读 · 0 评论 -
C++ 异常处理
C++标准库当中的异常也是一个基础体系,其中exception就是各个异常类的基类,我们可以在程序中使用这些标准的异常,它们之间的继承关系如下:std::exception 该异常是所有标准C++异常的父类。std::bad_alloc 该异常可以通过new抛出。std::bad_cast 该异常可以通过dynamic_cast抛出。std::bad_exception 这在处理C++程序中无法预期的异常时非常有用。原创 2022-10-10 15:04:21 · 6907 阅读 · 2 评论 -
C++ 运算符的重载
C++中运算符只支持基本数据类型运算,如果需要运算符支持类类型的运算,需要使用C++提供的语法:运算符的重载。原创 2022-10-09 22:39:54 · 586 阅读 · 0 评论 -
面向对象的三大特征
继承(inheritance)机制是面向对象程序设计使代码可以复用的重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称为派生类。继承实现了代码的复用,复用的实现是在已有代码的基础上进行扩展。继承发生在类与类之间。只有符合A is a B的情形,A与B就可以存在继承关系。语法实现class B:继承方式 A{/*新增的内容*/};//B类中会包含A类中的所有内容在继承当中,父类也称为基类,子类是由基类派生而来的,所以子类又称为派生类。原创 2022-10-09 12:34:01 · 707 阅读 · 0 评论 -
c++ 类和对象
①使用结构体(struct)描述C++对结构体的语法进行了扩展,结构体中不但可以有成员变量,也可以有成员函数。因此结构体可以用来描述对象的类型,在C++中,对象的类型叫类。{//成员变量int a;double b;//成员函数{}};在创建一个变量时可以不需要struct关键字:Test t;//创建一个对象t注意:C语言中结构体不可以有函数成员,但可以通过函数指针调用函数。②使用类(class)描述对象的类型class也可以用来描述对象的类型,语法和struct几乎一致。{原创 2022-10-08 19:57:02 · 583 阅读 · 0 评论 -
C++ 基础语法
目录一、编译环境 二、头文件三、命名空间1.命名空间的定义2.命名空间的访问四、输入与输出五、内存分配六、引用1.常引用2.引用的使用 3.指针和引用的区别 七、函数重载 八、缺省参数 九、内联函数 在虚拟机Ubuntu上使用g++,g++是Linux中C++的编译器,需要安装,g++的使用方法和gcc一样。C和C++的关系:C是C++的基础,C++是C的扩展,C++的类型检查比C严格,C++完全兼容C扩展的内容:C++包含自定义的头文件时不再以.h作为结尾但是C语言的标准头文件任然可用一般C标准头文件在原创 2022-10-07 19:56:26 · 2226 阅读 · 0 评论 -
C内存管理
一个由C/C++编译的程序堆区、栈区、全局区(静态区)、文字常量区、代码区五部分。在执行一个C/C++语言程序时,此程序将拥有唯一的内存四: 区栈区、堆区、全局区、代码区。每个程序都有唯一的四个内存区域。①程序运行前:代码段、静态区和文字常量区三部分②程序运行后:栈区和堆区(多出来的)原创 2022-09-16 20:48:33 · 1336 阅读 · 0 评论 -
模板与容器
1.链接链接分为三种情况,凡是有名字的东西(函数,类,常量,变量,模板,命名空间等)必然属于其中之一:外链接(external),内链接(internal)和无链接(none).(1)外链接的意思是每个翻译单元都可以访问这个东西(前提是只要它知道有这么个东西存在),普通的函数,变量,模板和命名空间都有外链接(2)内链接的含义是:在某个翻译单元里定义的东西只能在翻译单元里使用,在任何函数以外定义的静态变量都有内链接(3)内链接:在函数里定义的变量只存在与该函数的内部,根本没有任何链接(none).2原创 2021-08-15 22:03:05 · 266 阅读 · 0 评论 -
C++入门
1.动态内存管理(1)malloc和free原型:void* malloc(size_t size);void free(void *ptr);char *p =(char *)malloc(100 * sizeof(char)); free(p);(2)new和deletenew/new[] 用法函数原型:void *operator new(std::size_t)throw(std::bad_alloc);//开辟单地址空间int *p = new int; //开辟大原创 2021-08-14 22:03:00 · 121 阅读 · 0 评论 -
类与对象学习
1.创建类与对象2.方法的重载与覆盖3.静态成员与静态变量4.友元类原创 2021-08-05 22:33:44 · 133 阅读 · 0 评论