Skip to content

Commit d45d11a

Browse files
committed
feat: update articles
1 parent c696808 commit d45d11a

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

‎编程语言理论/元编程/泛型编程.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func Ints(a []int)
3939

4040
我们以 C、C++ 和 Java 为例,介绍它们在设计上的不同考量:
4141

42-
- C 语言是系统级的编程语言,它没有支持泛型,本身提供的抽象能力非常有限。这样做的结果是牺牲了程序员的开发效率,与 Go 语言目前的做法一样,它们都需要手动实现不同类型的相同逻辑。但是不引入泛型的好处也显而易见 —— 降低了编译器实现的复杂度,也能保证源代码的编译速度;
42+
- C 语言是系统级的编程语言,它没有支持泛型,本身提供的抽象能力非常有限。这样做的结果是牺牲了程序员的开发效率,与 Go 语言目前的做法一样,它们都需要手动实现不同类型的相同逻辑。但是不引入泛型的好处也显而易见:降低了编译器实现的复杂度,也能保证源代码的编译速度;
4343

4444
- C++ 与 C 语言的选择完全不同,它使用编译期间类型特化实现泛型,提供了非常强大的抽象能力。虽然提高了程序员的开发效率,不再需要手写同一逻辑的相似实现,但是编译器的实现变得非常复杂,泛型展开会生成的大量重复代码也会导致最终的二进制文件膨胀和编译缓慢,我们往往需要链接器来解决代码重复的问题;
4545

0 commit comments

Comments
 (0)