C++前置声明的作用有哪些-创新互联-成都快上网建站

C++前置声明的作用有哪些-创新互联

这期内容当中小编将会给大家带来有关C++ 前置声明的作用有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

我们一直强调网站设计、成都做网站对于企业的重要性,如果您也觉得重要,那么就需要我们慎重对待,选择一个安全靠谱的网站建设公司,企业网站我们建议是要么不做,要么就做好,让网站能真正成为企业发展过程中的有力推手。专业的建站公司不一定是大公司,创新互联作为专业的网络公司选择我们就是放心。

前置声明是C/C++开发中比较常用的技巧,主要用在三种情形:

  1. 变量/常量,例如extern int var1;;
  2. 函数,例如void foo();,注意类的成员函数无法单独做前置声明;
  3. 类,例如class Foo;,也可以前置声明模板类:template classFoo;。如果类包含在名字空间中,需在名字空间内做前置声明:namespace tlanyan {class Foo;};,而不能这样:class tlanyan::Foo;
     

前置声明作用

根据其用途,前置声明的主要作用为:

  1. 避免重复定义变量;
  2. 避免引入函数定义/声明文件,从而函数文件发生更改时不会重新编译依赖文件;
  3. 解决循环依赖问题。

前两种用途好理解,第三种稍微复杂点,但却是前置声明最重要的用途。其解决类A包含类B,同时类B包含类A的依赖问题。循环依赖一般是设计层面的问题,可通过接口、引入辅助类等手段化解。前置声明也能解决,只是架构上稍微别扭。

不管A和B是否定义在同一个文件中,c++永远无法解决如下形式的循环依赖(后文解释原因):

// file: A.hpp
#include "B.hpp"
class A {
 int id;
 B b;
};

// file: B.hpp
#include "A.hpp"
class B {
 ...
 A a;
};

文章标题:C++前置声明的作用有哪些-创新互联
转载注明:http://kswjz.com/article/djicjj.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流