编译器使用两阶段查找来编译模板类是什么意思?

最佳答案

模板被编译(至少)两次:

  • 如果没有实例化,将检查模板代码本身的语法。
    例如:任何语法错误,例如;等。
  • 在实例化时(确切类型已知时),将再次检查模板代码以确保所有调用对该特定类型均有效。
    例如:模板可能进而调用该特定类型可能不存在的函数。

  • 这称为两阶段查找。

    关于c++ - 两阶段查找-需要说明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59939593/

    10-11 19:33