cdsfiui 发表于 2017-03-06 21:13

模板参数数组也会变指针?

本帖最后由 cdsfiui 于 2017-03-11 08:59 编辑

模板的参数,能否接受一个数组?谢谢。

bruceteen 发表于 2017-03-07 08:39

如果可以编译通过,那
void a() { int fd; f<fd>() }
void b() { int fd; f<fd>() }
中的两个 f<fd>() 是相同的行为,还是不同的行为?

cdsfiui 发表于 2017-03-07 09:06

回复 2# bruceteen

没有太看懂这个回复,能解释一下吗? 谢谢。

bruceteen 发表于 2017-03-07 15:37

回复 3# cdsfiui
只有全局变量才有确定的地址呀

#include <iostream>
using namespace std;

void a( void )
{
    int a;
    cout << "a的地址是" << &a << endl;
}

void b( void )
{
    int b;
    cout << &b << endl;
    a();
}

int main( void )
{
    a();
    b();
    return 0;
}
一种可能的输出是
a的地址是0012FF6C
0012FF74
a的地址是0012FF5C

可以看出,每次调用时都不能保证 &a 的值一样,而模板是编译时确定的。
页: [1]
查看完整版本: 模板参数数组也会变指针?