Nachdem ich die Behauptung mehrere Male in Artikeln gelesen habe, möchte ich diese Frage zu Stackoverflow hinzufügen und die Gemeinschaft fragen, ob der folgende Code portabel ist?
template<template<typename T, typename Alloc> class C>
void f() {
/* some code goes here ... */
}
int main() {
f<std::vector>();
}
Ist die Implementierung, die die std::vector
wirklich zusätzliche, voreingestellte Template-Parameter haben, die über die beiden wohlbekannten hinausgehen? Dies würde den obigen Code unvollständig machen, da er von zwei Vorlagenparametern ausgeht. Siehe den letzten Absatz in diesem Artikel für ein Beispiel einer solchen Forderung.