c++
正在努力中编程新手
这个作者很懒,什么都没留下…
展开
-
宏和内联函数的区别及优缺点
内联函数(#define)/宏定义(#define)1.宏是由预处理器对宏进行替代;而内联函数是通过编译器控制来实现的2.宏定义只是简单的文本替换,内联函数直接被嵌入到目标代码中去3.宏定义不是真正的函数,没有参数类型检查,不安全;而内联函数是真正的函数,有类型检查,更为安全5.宏在定义是要注意参数,一般用括号括起来,否则容易出现二义性,而内联函数不会出现二义性两数比大小为例子来看内联函数和宏宏的优点:1.提高程序可读性,方便进行修改2.使用带参数的宏定义既可以完成函原创 2022-03-11 21:40:35 · 2251 阅读 · 0 评论 -
通过命名管道实现进程间的回合制通信
知识点:1.管道是在进程和进程间搭建通道;管道是半双工的,数据只能向一个方向流动,因此,需要双方通信的时候,需要建立两个管道,管道建立要在创建进程前,否则容易出现管道破坏的问题2.管道分为匿名管道和命名管道;1)匿名管道:只能用于父子进程或者兄弟进程(同一个爹)之间进行通信2)命名管道:利用FIFO文件,可以用于没有任何亲缘关系的进程;FIFO文件并非真正的文件,它并不会保留数据,也就是进程之间传输的数据不会保留在文件内部。(注意:两端都要open这个文件才可以)...原创 2022-04-01 15:43:19 · 266 阅读 · 0 评论 -
C++重载、重定义、重写
1.重载:函数名相同;函数的参数个数,参数类型,参数顺序不同;函数的返回值也可以不同;但 是如果只是返回类型不同,函数名及参数相同不可以构成重载;重载是一种静态多态;多态分为静态多态和动态多态重载减少了函数名的数量,避免了名字空间的污染,提高程序的可读性2.重定义:子类重新定义父类中有相同名称的非虚函数(参数列表可以不同),父类的方法就会倍隐藏;3.重写:子类重新定义父类中有相同名称和参数的虚函数(参数列表必须相同);父类的方法被覆盖了1)被重写的函数不能是静态(static)的函数,必原创 2022-03-09 21:44:15 · 872 阅读 · 0 评论 -
C++函数模板
1.采用自动类型推导方式调用函数模板的话,需要一致的数据类型,即在上面的代码中,传入的x和y类型要一致。typename -----表明后面的符号是一种数据类型(可以用class替代)T ------通用的数据类型,可以替换。2.函数模板调用时,如果使用自动类型推导,不会发生隐式的自动类型转换。3.如果函数模板利用指定类型的方式,可以发生隐式的自动类型转换。5.如果函数模板和普通函数都可以实现,优先调用普通函数。template -----声明创建模板。原创 2023-04-27 17:32:45 · 59 阅读 · 0 评论 -
使用函数模板+选择排序实现数组排序
也许有更好的方式实现,欢迎礼貌指导。原创 2023-04-27 17:38:26 · 121 阅读 · 0 评论 -
C++类模板
类1.类模板没有自动类型推导的使用方式2.类模板在模板参数列表中可以有默认参数(在c++11之后函数模块也可以有默认参数了)1.普通类中的成员一开始就被创建2.类模板中的成员函数在调用时才被创建。原创 2023-04-28 17:54:06 · 86 阅读 · 0 评论