«c++11» etiketlenmiş sorular

C ++ 11 olarak derlenmesi gereken kod için bu etiketi kullanın (C ++ 14 veya sonraki sürümlerde sunulan hiçbir özelliği kullanmayın).

5
Satır içi ad alanları ne için?
C ++ 11 inline namespace, tüm üyeleri otomatik olarak ekte bulunan s'ye izin verir namespace. Bunun herhangi bir yararlı uygulamasını düşünemiyorum - biri lütfen a'nın inline namespacegerekli olduğu ve en deyimsel çözümün olduğu bir duruma kısa ve özlü bir örnek verebilir mi? (Ayrıca, a'nın bir dosyada namespacebildirilmesi durumunda ne olduğu …

8
C ++ 11 ters aralık tabanlı for döngüsü
Aralık tabanlı for döngüsü ile tersine bir konteyner üzerinde yineleyebilmem için yineleyicilerin yönünü tersine çevirecek bir konteyner adaptörü var mı? Açık yineleyiciler ile bunu dönüştürür: for (auto i = c.begin(); i != c.end(); ++i) { ... bunun içine: for (auto i = c.rbegin(); i != c.rend(); ++i) { ... Bunu …
321 c++  c++11  ranged-loops 



5
İş parçacığı işleviyle başlat
Ben std::threadbir argüman ve döndüren bir üye işlevi ile inşa etmeye çalışıyorum void. Çalışan herhangi bir sözdizimini bulamıyorum - derleyici ne olursa olsun şikayet ediyor. Çalıştırmak spawn()için bir döndürmek böylece uygulamak için doğru yolu nedirstd::threadtest() ? #include <thread> class blub { void test() { } public: std::thread spawn() { return …

8
C ++ 'da make_shared ve normal shared_ptr arasındaki fark
std::shared_ptr<Object> p1 = std::make_shared<Object>("foo"); std::shared_ptr<Object> p2(new Object("foo")); Birçok google ve stackoverflow yayınları bu konuda, ama neden make_shareddoğrudan kullanmaktan daha verimli olduğunu anlayamıyorum shared_ptr. Birisi bana nasıl yaratılmış olduğunu ve her ikisi tarafından yapılan işlemleri adım adım açıklayabilir miyim böylece nasıl make_sharedverimli olduğunu anlayabiliyorum . Referans için yukarıda bir örnek verdim.
276 c++  c++11  shared-ptr 

1
“İnt main () {(([] () {}) ());}” geçerli C ++ nasıl?
Son zamanlarda aşağıdaki ezoterik kod parçasına rastladım. int main(){(([](){})());} Daha okunabilir hale getirmek için aşağıdaki gibi yeniden biçimlendirin: int main(){ (([](){})()); // Um... what?!?! } Ama (([](){})())geçerli kodun nasıl olduğunu bulamıyorum. İşlev işaretçisi sözdizimi gibi görünmüyor. Bazı operatör aşırı yükleme hilesi olamaz. Kod olduğu gibi derlenir. Google, bu sembollü aramaya …
271 c++  c++11  lambda  syntax 

10
Bir paylaşılan_ptr değerini referans veya değere göre geçmeli miyiz?
Bir işlev bir shared_ptr(boost veya C ++ 11 STL'den) aldığında , geçiyor musunuz: const referansı ile: void foo(const shared_ptr<T>& p) veya değerine göre: void foo(shared_ptr<T> p)? İlk yöntemi tercih ederim çünkü daha hızlı olacağından şüpheleniyorum. Ama bu gerçekten buna değer mi yoksa başka sorunlar var mı? Lütfen seçiminizin nedenlerini veya …
270 c++  c++11  boost  shared-ptr 

16
Neden C ++ 'da çöp toplayıcı yok?
Her şeyden önce çöp toplamanın yararları yüzünden bu soruyu sormuyorum. Bunu sormamın ana nedeni, Bjarne Stroustrup'un C ++ 'ın bir zamanda bir çöp toplayıcıya sahip olacağını söylediğini bilmem. Bununla birlikte, neden eklenmedi? C ++ için zaten bazı çöp toplayıcıları var. Bu, "yapılmasından daha kolay" tip şeylerden sadece biri mi? Veya …



8
Eşleşen işlev işaretçisini çağırmak için bir parçayı “açmak”
Daha std::tuplesonra depolanan türleri eşleşen bir işlev işaretçisi için bir çağrı için bağımsız değişken olarak kullanılacak değerleri, değişen sayıda depolamaya çalışıyorum . Çözmek için mücadele ettiğim sorunu gösteren basitleştirilmiş bir örnek oluşturdum: #include <iostream> #include <tuple> void f(int a, double b, void* c) { std::cout << a << ":" << …



12
to_string, std'nin bir üyesi değil, diyor g ++ (mingw)
Kelimelerin anlamlar için bana rastgele yanıp söneceği küçük bir kelime hatırlama programı yapıyorum. Bjarne Stroustroup bize söylediği gibi standart C ++ kitaplığı kullanmak istiyorum, ama hemen kapıdan garip bir sorunla karşılaştım. Bir longtamsayı std::stringbir dosyada saklayabilmek için içine değiştirmek istiyorum . Ben de to_string()aynısını çalıştırdım. Sorun, bunu g ++ (derleme …
245 c++  c++11  g++  mingw  tostring 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.