- 博客(11)
- 收藏
- 关注
原创 数据如何在各种网络硬件设备中流转
数据在各种网络硬件设备中的流转是一个层层封装和层层解封装的过程。它涉及到多个层次的协议和设备的协同工作,包括应用层、传输层、网络层和数据链路层等。每个层次都有其特定的功能和任务,共同确保数据能够准确、高效地传输到目标设备。
2024-08-14 15:34:49
501
原创 自己写一个类支持迭代器功能
这个设计展示了泛型编程、资源管理(动态内存分配与释放)、操作符重载以及迭代器模式在C++中的应用,既灵活又高效,同时也遵循了RAII(Resource Acquisition Is Initialization)原则来管理资源。:尝试在数组末尾添加一个元素,如果数组未满则成功插入并返回true,否则返回false。:提供两种方式获取迭代器,一种是从头开始遍历整个数组,另一种是指定范围内的遍历。方法获取迭代器,并利用这个迭代器遍历数组元素,展示如何使用迭代器进行数组遍历。:返回数组的实际元素数量。
2024-06-05 14:42:59
128
原创 关于模板类的友元函数的运算符重载的问题
在C++模板中,类模板内部声明友元函数时,如果直接使用模板参数`T`来声明友元函数,这会导致友元函数自身也成为模板函数的一个特例化版本,从而只能访问特定类型`T`的`Array`实例。这样的设计使得`operator<<`重载更加通用和灵活,能够处理`Array`的任何实例类型,只要类型`U`与所操作的`Array`实例类型匹配即可。这将限制友元函数只能与确切的`T`类型`Array`对象一起工作,而使用`U`允许该友元函数成为泛型,能够与任何类型的`Array`实例协同工作,提高了代码的复用性和灵活性。
2024-06-05 11:34:24
234
原创 一文详解类的静态成员
为了实现类的对象之间的数据共享,同时又能够保证数据的安全, C++提出了静态成员的概念一个类的所有对象之间共享的数据, 而不是所有对象共享的数据(其他类的对象不能共享的)保证数据的安全(不能让别人随意修改)在一个类的声明中, 用 static 修饰 类的成员 ,称之为 类的静态成员静态成员变量(静态数据成员)静态成员函数例子:private:double r;
2024-04-11 10:08:18
987
原创 Callable 可调用对象 lambda表达式 “匿名函数“
val1, val2, ...] 表示以值传递的方式导入val1,val2等指定的多个外部变量,顺序无关。[&val1, &val2, &...] 表示以引用传递的方式导入val1,val2等指定的多个外部变量,[ val1, &val2, ... ] 表示以值传递的方式导入val1, 以引用传递的方式导入val2。[=, &val1] 除了val1是引用传递的方式导入以外,其他的都是值传递的方式导入。"外部变量",指的是 和 lambda表达式 位于同一个作用域内的所有的局部变量。
2024-04-09 18:09:55
708
原创 头文件中声明static修饰的函数为什么能在其他源文件中使用
1、如果在其他多个其他源文件中包含这个头文件,并使用static修饰的函数,编译当然会直接报错,因为链接器找不到函数的定义2、如果在其他多个其他源文件中包含这个头文件,但没有使用static修饰的函数,编译可以正常通过总之,在头文件中声明static函数违反了头文件的设计初衷,可能导致代码膨胀、维护困难和其他潜在问题。
2024-04-02 17:04:45
396
1
原创 C/C++简单链式调用
(Method Chaining)是一种代码编写技巧,可以让代码更加简洁和易读。它的主要思想是,把多个方法调用链式连接起来,一个方法的返回值可以当作下一个方法的参数。在C++中,链式调用通常指的是连续调用同一个对象的成员函数,每次调用后都返回该对象的引用,从而允许进一步的调用。
2024-04-01 14:41:22
243
原创 C++无名命名空间namespace(匿名命名空间)和全局静态变量
也就是说,即使您在代码中写了两个看起来独立的匿名命名空间块,编译器也会将它们视为同一个命名空间的连续部分。在C++引入无名命名空间后,在文件中使用无名命名空间来定义变量和函数,也能起到与静态声明一样的效果,而且不需要每个变量和函数单独加static进行声明。2. 在C++中,当你使用无名命名空间(也称为匿名命名空间)时,其中的所有变量和函数默认具有内部链接性(internal linkage),这意味着它们只在定义它们的翻译单元(translation unit,通常是单个源文件)中可见。
2024-03-29 15:07:56
715
1
原创 C++可直接 类名:: (作用域符)访问的成员及用typename区分AA::BB形式
在C++中,类的公有成员(包括公有数据成员、公有成员函数以及公有类型别名等)确实可以通过类名加作用域解析运算符()来直接访问,前提是该公有成员是静态的(对于数据成员和成员函数)或者是类型别名。对于非静态的公有数据成员和成员函数,你需要一个类的实例(对象)来访问它们。
2024-03-22 10:15:14
340
1
原创 文件描述符、文件指针、I/O常用函数
通过将文件指针移动到文件中的特定位置,程序可以读取或写入文件中的数据。当程序打开一个现有文件或者创建一个新文件时,内核会返回一个文件描述符。文件描述符是一个非负整数,在Unix和类Unix系统中,它唯一标识了操作系统中某个被打开的文件或设备。当打开一个文件时,C语言中的标准库函数(如fopen())会返回一个指向该文件的文件指针。在C语言中,文件指针是一个特殊类型的指针,用于指向文件的第一个字节。需要注意的是,在使用文件指针时,应该始终确保在操作完成后关闭文件。这可以通过使用fclose()函数来完成。
2023-11-07 15:00:21
38
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人