C/C++
文章平均质量分 84
IAMZWH
这个作者很懒,什么都没留下…
展开
-
How Polymorphism Works
透过对 C 语言的深入理解,可以更好地揭示更高级语言工作的原理。一个例子是 “面向对象”,我们在 C 里也可以实现:struct foo { int (*bar)(struct foo *this, int a, int b); // 函数指针};void baz() { struct foo *ptr = fetch_object(); ptr->bar(ptr, 3, 4); // 等效于C++: ptr->bar(3, 4)}而 C++ 里的对象,的确也是这样原创 2021-05-12 20:30:55 · 369 阅读 · 0 评论 -
OOP-类间的逻辑关系
吉林大学陈伟-面向对象程序设计(基于C++语言讲解) 从面向对象OOP技术的角度来看软件应用系统中的各个程序类之间一般会存在有如下的几种形式的关系:关联(Association)依赖(Dependency)聚合(Aggregation)组合(Composition)泛化(Generalization)水平方向的这种逻辑关系(关联、依赖)在实际的程序中应...原创 2021-08-27 09:58:33 · 289 阅读 · 0 评论 -
Enabling range-based for loops for custom types
C++11标准对语言引入了许多优秀的、有用的改进。我已经介绍了auto关键字,现在我再来说一下基于范围的for循环。怎样使用?怎样在你自己的类中使用?1. 基于范围的for循环的基本语法现在,几乎每一个语言都能有一个非常方便的实现for循环的方法。C++也有类似的概念;你可以为你的for循环,添加一个container,他就会自动迭代。我们看下面的例子:vector<int> vec;vec.push_back(10);vec.push_back(20);for (int i :原创 2021-03-23 00:07:17 · 71 阅读 · 0 评论 -
IteratorChain
Class IteratorChain<E>An IteratorChain is an Iterator that wraps a number of Iterators.This class makes multiple iterators look like one to the caller. When any method from the Iterator interface is called, the IteratorChain will delegate(选派某人做某事)原创 2021-03-19 15:54:01 · 116 阅读 · 0 评论 -
【C/C++】零长度数组
零长度数组原创 2021-02-01 11:21:59 · 213 阅读 · 0 评论 -
C语言复杂定义
C gibberish ↔ English练习:f是一个大小为5的数组,数组的元素类型是指针,指向的是参数为int,返回值为int *的函数declare f as array 5 of pointer to function (int) returning pointer to intint *(*f[5]) (int);返回值为int的函数declare abc as function returning intint abc();大小为3的int型数组,declare a原创 2020-12-01 20:24:26 · 156 阅读 · 0 评论 -
理解pointer to pointer
【中英字幕】【TED】【Linus Torvalds】The mind behind Linux struct list { int item; struct list *next;};/* delete node containing i from list pointed to by lp */struct list *lp, *prevlp;for(lp = li...原创 2020-12-01 16:23:33 · 422 阅读 · 0 评论