![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C\C++学习笔记
文章平均质量分 66
C\C++记,边学习边更新!
江南霹雳堂雷家雷无桀
高山仰止,景行行止。虽不能至,然心向往之!
展开
-
饿汉式||懒汉式||double_checking模式单例
饿汉式就是在类加载的时候就进行初始化,线程安全,但是效率稍微低一点懒汉式是在首次调用getinstance的时候才初始化实例,效率高一点,但是有多线程并发的危险,加上double_checking就可以达到线程安全的效果!不对的地方大家一起探讨,欢迎指正~原创 2024-04-07 10:13:31 · 217 阅读 · 0 评论 -
C/C++中FILE指针的使用总结
在C++中,FILE指针是一个用于文件操作的指针类型。它是C语言标准库中的一部分,也被C++所继承。通过使用FILE指针,我们可以打开、读取、写入和关闭文件。这些函数允许我们执行各种文件操作,例如打开文件、关闭文件、读取文件内容等。在C++中,FILE指针通常与标准库中的文件操作函数一起使用,例如。在C++中,使用fopen函数打开文件时,可以通过指定。,然后编写程序读取文件中的内容,并且再往里面加入一个。模式表示以读写方式打开文件。模式表示以读写方式打开文件。模式表示以读写方式打开文件。原创 2023-09-05 14:35:34 · 856 阅读 · 0 评论 -
GCC和G++的区别
💗 💕 💞 💘 💖因此,如果你的项目同时包含C和C++代码,并且希望使用GCC来编译所有的代码,可以将"compilerPath"设置为"/usr/bin/gcc"。而如果你的项目只包含C++代码,并且希望使用专门针对C++进行优化的编译器,可以将"compilerPath"设置为"/usr/bin/g++"。而G++是GCC的一个组件,专门用于编译C++代码,它是GCC的一个变种,针对C++语言特性进行了优化。:对于文件后缀为.c的源文件,gcc会将其视为C程序,而g++会将其视为C++程序。原创 2023-09-01 11:50:54 · 454 阅读 · 0 评论 -
C++中的取余和取模函数或者运算符用法
%运算符计算10除以3的余数,并将结果赋给变量result。在这个例子中,result的值将为1。函数计算-10除以3的余数,并将结果赋给变量result。在这个例子中,result的值将为-1.0。一般情况下,不管是取模还是取余,都可以用下面的框架。在C++中,取余和取模操作使用不同的运算符表示。原创 2023-08-10 13:46:08 · 3780 阅读 · 0 评论 -
C++中如何让程序休眠自定义的时长
请注意,以上方法都是阻塞式的,即程序在休眠期间无法进行其他操作。另外,使用 `` 和 `` 的方法是较为推荐的,因为它是跨平台的。例如在Cyclonedds这样的开源跨平台的源码中想要加入让程序休眠一段时间的代码的话只能使用第二种,因为第二种方法是跨平台的,而第一种只能限制在了Windows平台原创 2023-08-09 09:11:31 · 862 阅读 · 0 评论 -
C++拷贝构造函数原理解析
私有变量,必须提供共有get方法才能获取 string name;int age;return age;age = 9000;Human hu;自定义了构造函数,但是并没有但参数,一般将这种称之为自定义的默认构造函数,当然称为自定义的构造函数也没有什么错。上面的写法其实也可以合二为一,就是将构造函数Human()的原型和定义放在一起,放在public下面。原创 2023-07-19 00:22:38 · 141 阅读 · 0 评论 -
C++基础知识之命名空间namespace
大型项目开发中会用到很多独立开发的库,很可能会出现不同库中命名相同的函数或者模板等,当然可以通过增加起名复杂度来规避,但并非良策,因此命名空间油然而生,它可以解决命名冲突的情况,它将全局命名空间分割成一个个作用域,从而来避免。命名空间中的所有成员引入到当前作用域中,使得我们可以直接使用该命名空间中的类、函数和变量,而无需在使用时加上。这是使用命名空间中特定成员的一种方式,用于指定当前作用域中使用命名空间中的特定成员。我们可以省略使用该命名空间中的类、函数和变量时需要加上的命名空间前缀,以简化代码。原创 2023-07-18 17:38:24 · 160 阅读 · 0 评论 -
C/C++变量的四种存储类型(auto自动、static静态、extern外部、register寄存器)
变量可见的范围一个变量的作用域可以是:块作用域、函数作用域、函数原型作用域、文件作用域。下面对四种作用域进行简要介绍auto - 函数中所有的非静态局部变量,程序中默认的变量都是auto自动变量。例如:int num = 100;num就是一个自动变量,auto是可以省略的,但只限于C语言中,C++中不能加auto.C语言中,int num = 100 和 auto int num = 100;是相同的,C++中auto int num = 100 会报错。原创 2023-07-02 16:37:14 · 1703 阅读 · 2 评论 -
C/C++内存管理(内存分布、动态内存分配、动态内存分配与释放、内存泄漏等)
1、在软件项目开发过程中,我们经常需要动态地分配和撤销内存空间,特别是数据结构中结点的插入与删除。在C 语言中是利用库函数malloc 和free 来分配和撤销内存空间的。C++提供了较简便而功能较强的运算符new 和delete 来取代malloc 和free 函数。原创 2023-06-30 14:27:05 · 467 阅读 · 0 评论 -
C++中内存拷贝函数memcpy函数使用
memcpy函数的使用没有限制必须在什么数据类型,只要确定该对象的起始内存地址和大小均可进行操作。所指的内存地址的起始位置开始拷贝。是目标数组的指针,并将类型转换为。所指的 内存地址的起始位置中(是要复制的数据源的数组指针。数组中的内容复制到哪里)原创 2023-06-28 00:46:42 · 830 阅读 · 0 评论 -
C++之引用、指针引用、常引用
假设有变量;int &a = b;//a指向b,即a是b的另一个名字int &a;引用必须要被初始化那申明引用为何一定要初始化呢?因为引用只是已存在变量的别名,我们在初始化变量的时候是将初始化拷贝到新建的对象中,然而在声明引用的时候,需要将引用和它的初始值对象一直绑定,因为引用是不可能绑定到另一个对象上的,因此必须初始化。并且引用的定义是可以在一条语句中定义多个引用的,其中每个引用都是以开头,如下:那么给定义引用之后获取到的值、地址又是什么样的?原创 2023-06-26 11:25:40 · 544 阅读 · 0 评论 -
C/C++指针相关知识点总结(学不完,根本学不完!!!!)
指针是一个值为内存地址的变量(或数据对象)。首先指针是一个变量,它的值就是某个变量的内存地址,就好比 int 类型的变量它的值是整数也是一样的。//定义两个指针变量指向room int * p1 = & room;printf("room 地址:0x%p\n" , & room);printf("p1 地址:0x%p\n" , & p1);printf("p2 地址:0x%p\n" , & p2);printf("room 所占字节:%d\n" , izeof(room));原创 2023-06-21 00:43:01 · 552 阅读 · 0 评论 -
sizeof在数组和指针中的使用
在 32 位平台下,无论指针的类型是什么,sizeof(指针名)都是 4.在 64 位平台下,无论指针的类型是什么,sizeof(指针名)都是 8.数组的大小:sizeof(数组名)/sizeof(数据类型)数组所占存储空间的内存:sizeof(数组名)原创 2023-06-21 00:35:40 · 55 阅读 · 0 评论 -
C语言复合类型之联合(union)篇
联合:所有成员公用一块地址空间,也就是说所有的成员不能同时占用内存空间,即不能结构:所有成员的内存占用是累加的,其不同成员会放在不同的地址上,而且一个结构体变量的长度等于所有成员长度之和。原创 2023-06-16 15:31:48 · 504 阅读 · 0 评论 -
C语言中断言库与断言函数assert()的用法总结
包含在头文件assert.h中他接受一个整形表达式作为参数(z > 40):如果表达式为假,则assert()函数就在标准错误流中写入一条错误信息,也就是报错嘛。并且会调用abort()函数终止程序(**abort()函数的原型就在stdib.h**中)。如果表达式为真,则程序顺利通过。原创 2023-06-15 10:15:31 · 774 阅读 · 0 评论 -
C语言中typedef函数的简单用法
我们为了后续使用方便,建立一个结构声明,struct complex COMPLEX。这样一来使用起来比较方便,我们如果需要调用real的值就可以通过COMPLEX.real来获取。上述代码首先定义了一个结构,该结构是由两个float类型的变量组成。complex是结构的标记,COMPLEX可以看作该结构的名字。当然上述这些写法中complex这个标记是可以省略的。在申请node (node只是一个结构模板,或者叫结构布局)的结构变量时,需要这样写。也就是说它可以给某一个变量类型自定义一个名称,比如有。原创 2023-06-14 19:22:04 · 728 阅读 · 0 评论 -
C语言复合类型之结构(struct)篇(结构指针)
结构是一种复合类型,一个结构里面存放多种数据类型的元素,相比数组而言,简直爽歪歪不是。它既可以包含不同的数据形式,又可以使得个信息之间保持独立。此部分非常之重要,不可马虎呀。原创 2023-06-14 18:45:02 · 601 阅读 · 0 评论 -
C++中防止头文件重复包含处理办法
在实际开发大项目中,一般不同的模块是由不同的程序员来开发的,函数的定义自己保留即可,别人只关注你提供的功能接口,也即别人不关心你产品的具体结构,你只需要给个说明书就好了。头文件也没有问题,但是会有一个重复的问题,有时候在源码中写了多次头文件的引入,大型项目中会存在这种可能性的,因为头文件太多了。,但他只在VS编译器中支持,其他编译器是不支持的。当然如果你不想写函数声明也可以,将函数的定义放在。也是约定俗的写法,是头文件的全部大写,再加上。在小型项目中,如果将函数的定义写在。函数是由我开发的,我写好一个。原创 2023-06-13 00:04:29 · 697 阅读 · 0 评论 -
C语言中变量的默认初始值
在对数组元素求和时,竟然离奇的发现错了,冲了一会儿浪之后才现在问题在这里。里面对于C语言中的内存分配讲的很清楚,可以参考。的初始值造成的。原创 2023-05-08 14:15:37 · 907 阅读 · 0 评论