关于ODR(one-definition rule)和Template再扯几句:
Template要2次编译,因此在每个TU中都要看实现代码,分离编译模型就成空谈了,为了在每个TU中让compiler看实现代码,就要违反ODR了,那就折衷一下,于是要求实现要一致,然后compiler暗中帮你保证只搞出一份出来,一个TU中好说,但是偏偏在多个TU中,compiler和linker却都不检查实现的一致性。。。(似乎采用就近原则)
非Template就没有这些烦恼了,造成你的大脑得随时提醒自己在看的是Template,原谅她们吧,她们太坏了!

相关文章:

  • 2022-12-23
  • 2021-04-16
  • 2022-12-23
  • 2021-09-29
  • 2022-12-23
  • 2021-04-16
  • 2022-12-23
  • 2021-07-21
猜你喜欢
  • 2021-07-22
  • 2021-11-13
  • 2022-12-23
  • 2022-12-23
  • 2021-05-08
  • 2021-12-01
  • 2021-11-11
相关资源
相似解决方案