bir örneği düşünün kılavuzluk garanti ediliyor:o şablon şablon parametresi çağırmak kullanıcı sağlanan kesinti
#include <type_traits>
#include <string>
template <template <class> class TT> //#1
struct Foo {
static void foo() {
static_assert(std::is_same_v<decltype(TT("abc")), TT<std::string>>);
}
};
template <class T>
struct Bar {
Bar(T) {}
};
template <class T>
Bar(T) -> Bar<std::string>; //#2
int main() {
Foo<Bar>::foo();
}
[clang] yanı sıra [gcc] hem kullanıcı sağlanan kesinti kılavuzları kullanın görünmektedir (# 2) şablonun şablon parametresi deducing zaman şablon parametresi (# 1). Standart uyumlu bir özellik midir?
Aslında bu cevabı bekledim, ama eğer yanlış olsaydı .. o zaman onu geri alacağım;) –
küçük bir soru olarak: otomatik kesinti kılavuzlarının da uygulanmaması gerektiğini düşünüyor musunuz? –
@ W.F. Tamam, cevabı tamamen çevirdim :) – Barry