首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++模板实例化具现点的有关问题

2012-09-06 
c++模板实例化具现点的问题。[codeC/C++][/code]template typename Tvoid f(){g()h()}int main(){fin

c++模板实例化具现点的问题。
[code=C/C++][/code]
template <typename T>
void f()
{
  g();
  h();
}

int main()
{
  f<int>();
  return 0;
}

void g()
{}
void h()
{}
 
  void f();这个函数到底是在哪个位置具现的啊? 
 

[解决办法]
模板函数的实例化时机及次数默认情况下是由编译器自行决定的,除非编译器提供了选项,只是偶也不太清楚这个“选项”是什么,因为从未遇到过需要控制实例化点的需求。
[解决办法]

探讨

引用:
8# 建议“仔细理解”,还是再说的详细一些吧。
根据 14.6.4.1 /1/7 的说法,根据 9# 的提法,只有 3 与 5 是可能的 POI,明显 3 处最合适。

3处是不可能适合的,因为在3处 g(),h()函数的定义还是不可见的。

[解决办法]
永远不要让自己的代码陷到需要讨论这个问题的窘境
珍惜生命,不要过度玩弄模板。
[解决办法]
探讨

引用:
引用:

引用:
引用:

引用:
8# 建议“仔细理解”,还是再说的详细一些吧。
根据 14.6.4.1 /1/7 的说法,根据 9# 的提法,只有 3 与 5 是可能的 POI,明显 3 处最合适。

3处是不可能适合的,因为在3处 g(),h()函数的定义还是不可见的。
……

热点排行