cpp - 成员函数的别名` return 类型
cpp - alias for member functions` return types
我一直在看 this CppCon talk 演讲者谈论编写 classes 抵抗未来变化的地方。他提供了以下代码作为示例(我在此处进行了删节):
template< typename Type, size_t Cap >
class FixedVector final
{
using iterator = Type*;
iterator begin();
}
我的问题基本上是以下 - 他在这里使用类型别名只是因为类型本身已经由 class 的用户提供(并且是他们知道的修道院)? 我的意思是,如果不是这种情况,那么用户就无法使用别名 return 类型,对吗?
他们试图表达的意思是,如果他们有
template< typename Type, size_t Cap >
class FixedVector final
{
Type* begin();
}
后来他们决定使用 my_custom_iterator<Type>
而不是 Type*
,然后他们需要对所有使用 Type*
的地方进行更改。通过使用
class FixedVector final
{
using iterator = Type*;
iterator begin();
}
如果您想进行相同的更改,只需更改即可
using iterator = Type*;
成为
using iterator = my_custom_iterator<Type>;
我一直在看 this CppCon talk 演讲者谈论编写 classes 抵抗未来变化的地方。他提供了以下代码作为示例(我在此处进行了删节):
template< typename Type, size_t Cap >
class FixedVector final
{
using iterator = Type*;
iterator begin();
}
我的问题基本上是以下 - 他在这里使用类型别名只是因为类型本身已经由 class 的用户提供(并且是他们知道的修道院)? 我的意思是,如果不是这种情况,那么用户就无法使用别名 return 类型,对吗?
他们试图表达的意思是,如果他们有
template< typename Type, size_t Cap >
class FixedVector final
{
Type* begin();
}
后来他们决定使用 my_custom_iterator<Type>
而不是 Type*
,然后他们需要对所有使用 Type*
的地方进行更改。通过使用
class FixedVector final
{
using iterator = Type*;
iterator begin();
}
如果您想进行相同的更改,只需更改即可
using iterator = Type*;
成为
using iterator = my_custom_iterator<Type>;