cpp中的模板
我的模块中有以下一段代码。
控制器是类的名称。 allocate_route是它的成员函数。
在定义成员函数时,它被指定为
template<UI num_ip>
void Controller<num_ip>::allocate_route()
{
}
UI 是无符号整数。 num_ip
未在任何地方定义。他也没有在代码中的任何地方使用num_ip
。他通过这个语句告诉编译器什么。我无法理解这里模板的用法。这段代码有什么作用?
I hav a following piece of code in a module.
Controller is the name of the class.
allocate_route is the member function of it.
While defining the member function it is given as
template<UI num_ip>
void Controller<num_ip>::allocate_route()
{
}
UI is Unsigned Integer. num_ip
is not defined any where. He also has not used num_ip
anywhere inside the code. What does he tell to the compiler by this statement. Am not able to comprehend the use of templates here. Wat does this code do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
该代码实现了模板类
Controller
中定义的函数allocate_route
。创建模板类时,有两种方法来实现功能:
或者
That code implements the function
allocate_route
defined in the template classController
.When creating template classes, you have two way to implement functions:
or
也许他正在该方法之外的某个地方使用
num_ip
,但仍在Controller
类中(可能是另一个方法)。如果您在模板内定义方法,则必须添加
template<...>
,即使方法不使用模板参数。这就是为什么在这种情况下最好这样做:Maybe he is using
num_ip
somewhere outside this method, but still insideController
class (maybe another method).If you define method inside a template you have to add
template<...>
, even if method doesn't use template parameters. That's why it could be better to do something like this in this case: