首页 > 编程语言 > 详细

C++ 内接连与外接连

时间:2014-05-05 21:57:02      阅读:471      评论:0      收藏:0      [点我收藏+]

1、内连接与外连接的最大区别是其查找某个定义时,所采用的策略。

   内连接:

    对这个定义的访问被局限在当前编译单元,其他编译单元无法访问,所以在连接时,它不会和其它的编译对象(.o/.obj)对象作比较,所以这些对象,也不能通过extern来访问。(static、const、类的成员/函数)

   外连接:

    可被其他单元访问,那么在连接时,会在其它编译对象中查找,判断是否重复,是否被定义。

2、外连接:

  即在声明时使用extern,并给出定义,在其它文件中使用时,使用extern加上声明就可

  如:

  在 1.cpp:

  extern int num = 111;

  void Test(){}

  在 2.cpp:

  extern int num; // 此处引用1.cpp的num

  extern void Test();

3、内连接:

  在1.cpp中:

  static int a = 3;

  const int b = 4;

  class A

  {

    int c;

    void Test(){}

  };

  在2.cpp中:

  static int a = 5;

  const int b = 6;

  class B

  {

    int c;

    void Test(){}

  };

  此时不会报重复定义的错误,因为其查找就在当前文件中,不会去管其它文件中的定义。

C++ 内接连与外接连,布布扣,bubuko.com

C++ 内接连与外接连

原文:http://www.cnblogs.com/wang-can/p/3704866.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!