gpt4 book ai didi

非模板函数参数的 C++ 特性?

转载 作者:行者123 更新时间:2023-11-27 23:26:00 30 4
gpt4 key购买 nike

在函数模板的定义中,模板参数的实例化一般是未知的。类型特征可用于在编译时获取一些信息。例如,这是 is_pointer 的一个简单应用:

template <typename T>
void foo(T p) { cout << is_pointer<T>::value << endl; }

我的问题是:在非模板函数中,是否存在类似特征的编译时函数可以提供有用信息的情况?

最佳答案

是的:

#include <iostream>
#include <limits>

int main()
{
std::cout << "Max value of an int on your platform is "
<< std::numeric_limits<int>::max() << "\n";
}

这是第一个想到的例子。我敢肯定还有很多其他人。更一般地说,它允许在类型上键入的编译时“查找”。显然,在非模板情况下,同样可以通过宏定义(INT_MAX 等)实现。

关于非模板函数参数的 C++ 特性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9472694/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com