«c++17» etiketlenmiş sorular

C ++ 17, 2017'de onaylanan C ++ standardının adıdır. Önceki C ++ 14 standardını temel alır, çekirdek dili ve standart kütüphaneyi geliştirir ve birkaç yeni dil özelliği ekler.

2
zayıf_ptr sıfırlama paylaşılan_ptr'u etkiler mi?
Kullanmaya pek alışkın weak_ptrdeğilim ve oldukça kafa karıştırıcı bir durumla karşı karşıyayım. Ben kullanıyorum Intel XE 2019 Besteci güncelleme 5 ( paket 2019.5.281 ile combinaison olarak) ver Visual Studio 2019. 16.2.5 . 64 bit derliyorum. Standart C ++ 17 kullanıyorum . İşte benim spike çözümü için kod: #include <memory> #include …

3
Paralel yürütme ilkesi ile yerinde std :: transform kullanabilir miyim?
Yanılmıyorsam, bir giriş ve çıkış yineleyicisi ile aynı aralığı kullanarak yerindestd::transform performans gösterebilirim . Bazı nesnelerim olduğunu varsayalım , o zaman yazardımstd::vectorvec std::transform(vec.cbegin(),vec.cend(),vec.begin(),unary_op) uygun bir tekli işlem kullanarak unary_op. C ++ 17 standardını kullanarak, std::execution::parilk argüman olarak oraya yapıştırarak dönüşümü paralel olarak yürütmek istiyorum . Bu, fonksiyonun cppreference makalesindestd::transform aşırı …

1
Şablon şablonu sınıfıyla GCC / C ++ 17'de sorun
Aşağıdaki aşırı yüklenmeleri göz önünde bulundurun template<typename T> bool test() { return true; } template<template<typename ...> class T> bool test() { return false; } Birincisi normal sınıflar için, ikincisi ise örneklenmemiş şablonlar için çalışır. Örneğin: std::cout<<test<int>()<<std::endl; <-- this yields 1 std::cout<<test<std::list>()<<std::endl; <--this yields 0 Şimdi aşağıdaki şablon işlevini göz önünde …
10 c++  templates  gcc  clang  c++17 


5
Neden bir varyantın dizinini alamıyorum ve içeriğini almak için kullanamıyorum?
Bir varyantın içeriğine erişmeye çalışıyorum. Orada ne olduğunu bilmiyorum, ama neyse ki varyant yapıyor. Bu yüzden değişkene sadece hangi indekste olduğunu soracağımı ve bu indeksi std::getiçeriğine kullanacağımı düşündüm . Ancak bu derlenmez: #include <variant> int main() { std::variant<int, float, char> var { 42.0F }; const std::size_t idx = var.index(); auto …
10 c++  c++17  variant 

2
Salt okunur bir senaryoda boş bir sonlandırılmış dizeye ne zaman ihtiyacınız vardır?
std::string_viewKütüphane ile oynuyorum ve std::string_viewmümkün olduğunca kullanmak için üzerinde çalıştığım bir kod tabanı değiştirmeyi düşünüyorum . Ancak, iş parçacığı birçoğunda ben kullanmaya ne zaman ve nerede konusunda okuduğunuzu std::string_viewyerine const std::string &. Pek çok cevap gördüm, "Eğer boş bir sonlandırılmış dizgeye ihtiyacınız olmadığında." Web'de arama yapmaya başladığımda, "ne zaman bir …

2
Zincirleme sırasında kopya nasıl kullanılır?
Aşağıdaki küçük örnek gibi bir zincirleme türü sınıfı oluşturuyorum. Üye işlevlerini zincirlerken, kopya oluşturucu çalıştırılır. Kopya oluşturucu çağrısından kurtulmanın bir yolu var mı? Aşağıdaki oyuncak örneğimde, sadece geçici işlerle uğraştığım ve bu nedenle "zorunluluk" (belki standartlara göre değil, mantıksal olarak) bir eleme olduğu açıktır. Seçimi kopyalamak için ikinci en iyi …
10 c++  c++14  c++17 


2
Değişken sabit için sözde yıkıcı çağırmanın geçerli sözdizimi
Aşağıdaki örnek programı düşünün. #include <iostream> int main() { typedef float T; 0.f.T::~T(); } Bu program tarafından derlenmektedir Microsoft Visual Studio Community 2019. Ama clangve gccbu gibi bir hata sorunu prog.cc:7:5: error: unable to find numeric literal operator 'operator""f.T' 7 | 0.f.T::~T(); | ^~~~~ İfadeyi böyle yazmak için ( 0.f …

2
Programcı düzeyinde C ++ std :: atomic ile neler garanti edilir?
Hakkında birkaç makale, görüşme ve yığın akışı ile ilgili soruları dinledim ve okudum ve std::atomicbunu iyi anladığımdan emin olmak istiyorum. Önbellek satırıyla hala kafam karıştığından, MESI (veya türetilmiş) önbellek tutarlılık protokollerinde, mağaza arabelleklerinde, geçersiz sıralarda vb. Olası gecikmeler nedeniyle görünürlük yazıyor. X86'nın daha güçlü bir bellek modeli olduğunu okudum ve …

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.