[FAQ] 数据结构用 C 和 C++ 描述有什么区别

news/2024/5/18 15:00:24 标签: 数据结构, c, c++, 算法, bbs, 语言
cle class="baidu_pl">
cle_content" class="article_content clearfix">
content_views" class="htmledit_views">

发信人: exbluesea (深蓝的海), 信区: CPlusPlus
标  题: [FAQ] class="tags" href="/tags/ShuJuJieGou.html" title=数据结构>数据结构用 C 和 C++ 描述有什么区别?
发信站: BBS 水木清华站 (Tue Dec 24 14:49:33 2002), 转信

 

有这么多人问这个问题? 这个区别应该就是这两种语言的主要区别。我想概括起来是:

 

1、C++ 可以用自定义类型去表示相关的class="tags" href="/tags/ShuJuJieGou.html" title=数据结构>数据结构࿰c;如浮点数、表、树、矩阵等。再用相应的方法去表达它们的操作࿰c;因此封装比较完整࿰c;表达相对清楚࿰c;而用纯 C 也可以表达࿰c;但是概念表达可能不容易做到在形式上更清晰;

 

2、C++ 可以使用模板技术归纳一类算法c;而 C针对不同数据类型的同一个算法必须写出各自的函数来。

 

总结起来就是 C++ 可以利用 C 所不具备的面向对象和范型方法来进行描述。

cle>

http://www.niftyadmin.cn/n/1285626.html

相关文章

3分钟快速阅读-《Effective Java》(一)

简介 Effective Java这本书针对的是有经验的程序员,本书共计78个条目,目的是告诉大家如何进行更加有效的编程 1.考虑用静态工厂方法代替构造器 静态工厂方法的优点 1.1 静态工厂方法有对应方法名称,构造器则没有.所以使用静态工厂方法能够更加直接的表达想要实例化的对象1.2 静…

string::size_type 是什么定义类型?

changeme(我本楚狂人)回复于 2004-07-05 00:10:17 得分 0 size_type实际上是做为解决string类设计上的严重失误而引入的。 size_type是在string类内定义的一个无符号整形类型,由于string类里很多方法的返回值都是size_type类型的&am…

3分钟快速阅读-《Effective Java》(二)

11.慎重覆盖clone方法 在日常开发当中我们可能会遇到有些需求需要对一个对象进行拷贝操作,这里就涉及到深拷贝还是浅拷贝的问题,深拷贝是在内存当中创建出一个新的内存空间用于存储原来这个对象相同的内容,浅拷贝就只是拷贝了原来对象的地址值,此时如果使用拷贝操作,那么操作的…

error C2143: syntax error : missing ';' before '*....

error C2143: syntax error : missing ; before *.... error C2501: CMyDoc : missing storage-class or type specifiers error C2501: GetDocument : missing storage-class or type specifiers 在任何cpp文件的开头都…

3分钟快速阅读-《Effective Java》(三)

21.用函数对象来表示策略 简而言之,就是使用接口来定义要实现的策略方法,然后具体的实现类来实现不同的接口从而实现不同的策略,这就是所谓的函数对象来表示策略 22.优先考虑静态成员类 1.嵌套类包括以下四种,除了静态成员类,其他的都可以被称为内部类 1.1 静态成员类:可以被外…

3分钟快速阅读-《Effective Java》(四)

31.用实例域代替序数 在枚举类当中添加序数,可以帮助我们对于有特定需求的枚举进行排序 public enum Emsemble {SOLO(1),DUTE(2),TRIO(3),QUARTET(4),QUINTET(5),SEXTET(6);private final int numberOfMusic;Emsemble(int number) {numberOfMusic number;}public int numberOf…

3分钟快速阅读-《Effective Java》(五)

41.慎用重载 使用重载时有些重载方法并不会根据你想要的方式来进行运行的,编译器会根据自己想要的最简便的方式来运行对应的方法,如下所示 public class CollectionClassFind {public static String classFind(List<?> list){return "List";}public static St…

编译器警告(级别1) C4172 返回局部变量或临时对象的地址

返回局部变量或临时对象的地址 一个函数返回局部变量或临时对象的地址。当函数返回时&#xff0c;局部变量和临时对象被销毁&#xff0c;所以返回的地址是无效的。需要重新设计函数&#xff0c;使其不返回局部对象的地址。 下面的示例会生成C4172警告&#xff1a; // C4172.c…