C产品在市场上有哪些独特优势?

2026-05-27 04:310阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1442个文字,预计阅读时间需要6分钟。

C产品在市场上有哪些独特优势?

前段时期去鸟国出差,差异巨大,颠倒黑白,纷纷无以为,疏于写博,请多谅解。下面继续前文,关于C++与C社区混战。

前段时间去鸟国出差,颠倒黑白,碌碌无为,疏于写博,请大家理解。下面继续前贴7月《C与C++社区混战,C#会重蹈覆辙吗?》的讨论。这次要谈的是C#的析构器的问题。这是C#中非常华而不实的一个设计,不必要,且常常误导很多C#er,且是.NET性能问题的常见陷阱地带。下面逐项讨论:

1.C#析构器是一个丑陋的语法糖

C#析构器(即Destructor)本质上是对Finalize方法的一个override。既然是对Finalize方法的override,那就大大方方让程序员去override 根类Object的Finalize方法好了。可是,C#设计师们首先搞了一个析构器,接着又在编译器里面把父类的Finalize方法隐藏掉(你去override的时候,告诉你父类没有Finalize方法)。但是编译完后,在IL代码中又告诉你override了父类中的Finalize方法,而你写的析构器却不翼而飞!

我在编程语言历史上看到很多语法糖,有些语法糖华丽,有些语法糖冗赘。但是还从没见过如此弯弯绕的语法糖!

2. C#析构器偏离了析构器原有的意思

析构器自在各编程语言中造始,便有以下两大基本含义:

(a) 回收对象内部开销的动态内存以及各种资源

(b) 回收具有确定性时刻,比如delete对象时,或者栈cleanup时。

阅读全文
标签:析构

本文共计1442个文字,预计阅读时间需要6分钟。

C产品在市场上有哪些独特优势?

前段时期去鸟国出差,差异巨大,颠倒黑白,纷纷无以为,疏于写博,请多谅解。下面继续前文,关于C++与C社区混战。

前段时间去鸟国出差,颠倒黑白,碌碌无为,疏于写博,请大家理解。下面继续前贴7月《C与C++社区混战,C#会重蹈覆辙吗?》的讨论。这次要谈的是C#的析构器的问题。这是C#中非常华而不实的一个设计,不必要,且常常误导很多C#er,且是.NET性能问题的常见陷阱地带。下面逐项讨论:

1.C#析构器是一个丑陋的语法糖

C#析构器(即Destructor)本质上是对Finalize方法的一个override。既然是对Finalize方法的override,那就大大方方让程序员去override 根类Object的Finalize方法好了。可是,C#设计师们首先搞了一个析构器,接着又在编译器里面把父类的Finalize方法隐藏掉(你去override的时候,告诉你父类没有Finalize方法)。但是编译完后,在IL代码中又告诉你override了父类中的Finalize方法,而你写的析构器却不翼而飞!

我在编程语言历史上看到很多语法糖,有些语法糖华丽,有些语法糖冗赘。但是还从没见过如此弯弯绕的语法糖!

2. C#析构器偏离了析构器原有的意思

析构器自在各编程语言中造始,便有以下两大基本含义:

(a) 回收对象内部开销的动态内存以及各种资源

(b) 回收具有确定性时刻,比如delete对象时,或者栈cleanup时。

阅读全文
标签:析构