std::basic_string
ile documented here ve here olan Howard Hinnants's C++11 stack allocator, biraz değiştirilmiş bir versiyonu kullanılarak ve aşağıdaki örnek (see it live) libstdc++
kullanılarak olan gcc
ile derleme:C++ 11, ayırıcıların varsayılan yapılandırılabilir olmasını gerektirir mi, libstdC++ ve libC++ katılmıyor mu?
const unsigned int N = 200;
arena<N> a;
short_alloc<char, N> ac(a) ;
std::basic_string<char,std::char_traits<char>,short_alloc<char, N>> empty(ac);
diğerleri arasında aşağıdaki hata (verir):
error: no matching function for call to 'short_alloc<char, 200ul>::short_alloc()'
if (__n == 0 && __a == _Alloc())
^
çalışır Ancak clang
ile derlerken ve libc++
(see it live) kullanarak hata olmadan. std::basic_string
'un stdlibc++
uygulamasının, uygulanmasının, varsayılan değer oluşturucusunun almasını bekler.
C++ 11, ayırıcıların varsayılan yapılandırılabilir olmasını gerektirir mi? Hangi uygulama doğrudur? değil
Kendinden cevaplanan soruları kullanarak Biz bu teyit edebilir
(yeni dize ABI kullanırken)