C++ 编程:指针、正则表达式与依赖图解析
1. 指针基础与依赖图构建
在 C++ 编程中,指针是一个强大的工具,它能帮助我们解决许多复杂的问题,比如构建依赖图。首先,让我们来明确一些关于指针的基本概念。
1.1 地址与指针的区别
- 地址 :是内存中的一个位置,在 C++ 里它是一个右值,不能被修改或赋值。当程序使用
&运算符获取对象的地址时,这个地址在对象的生命周期内是常量,并且地址有对应的指针类型。 - 指针类型 :更准确地说应该叫地址类型,因为该类型所表示的值的范围就是地址。不过,“指针类型” 这个术语更常用,因为指针对象具有指针类型。指针类型可以表示多级间接引用,例如
int*是 “指向 int 的指针”,int**是 “指向指针的指针”。 - 指针 :是具有指针类型的左值,指针对象和其他对象一样,在内存中有一个位置可以存储值,这个值必须是与指针类型兼容的地址。
1.2 依赖图的构建
依赖图可以存储指向工件(artifact)的指针。每个外部文件在程序中对应一个工件对象,这个工件可以有图中的多个节点指向它。当一个构建规则更新了一个工件时,文件的修改时间可能会改变,图中所有指向该工件的节点都会立即看到新的时间,因为它们都指向同一个对象。
为了存储这些工件,我们可以使用一个以工件名称为键的 std::map
超级会员免费看
订阅专栏 解锁全文
1851

被折叠的 条评论
为什么被折叠?



