C++ 以下代码可以被视为策略模式吗?

C++ 以下代码可以被视为策略模式吗?,c++,design-patterns,C++,Design Patterns,下面的代码片段可以被认为是策略模式吗?还是别的什么?或者根本没有模式 template <bool bigEndian> void load(char * buf); template <> int load<false>(char * buf) { ... } template <> int load<true>(char * buf) { ... } template <bool bigEndian> class

下面的代码片段可以被认为是策略模式吗?还是别的什么?或者根本没有模式

template <bool bigEndian>
void load(char * buf);

template <>
int load<false>(char * buf) { ... }

template <>
int load<true>(char * buf) { ... }

template <bool bigEndian>
class Loader {
    ...
        // somewhere in code
        int i = load<bigEndian>(buf);
    ...
}
模板
空荷载(char*buf);
模板
int load(char*buf){…}
模板
int load(char*buf){…}
模板
类加载器{
...
//代码中的某个地方
int i=荷载(buf);
...
}

是。我可以这么说。也许你不应该把自己限制在只加载
load
,但是,你可以接受任何
int(*)(char*)
…我明白你的意思了。策略可以作为模板参数从外部传递,而不是big-endian的true/false?这就是你的意思吗?在我看来,这确实很像一种策略。另一方面,我更喜欢使用这样的东西:
enum order{BigEndian,LittleEndian};模板int加载(char *bf){}模板int Load(char *bf){} /COD>。在我看来,这只是实现C++中的策略模式的一种方法。还有其他几个问题,一些问题在本答案中列出: