Tegishli savollar 'c++11'

C++ 0x ip uzilishi
C++ 0x yakuniy loyihasiga ko'ra, mavzuni tugatishni so'rashning imkoni yo'q. Ya'ni, agar kerak bo'lsa, biz o'z-o'zidan hal qilishimiz kerak. Boshqa tomondan, boost::thread ipni xavfsiz tarzda uzib qo'yish mexanizmini taqdim etadi. Sizningcha,...
34657 qarashlar
schedule 08.10.2023

Kortejlar kortejiga ruxsat beriladimi?
Men hozirda juda ko'p shablonlari bo'lgan sinf ustida ishlayapman va kortejlar kortejlarini qurish buni ancha osonlashtiradi Lekin men ushbu oddiy kodni MSVC++ 2010 da sinab ko'rdim: #include <tuple> void main() { auto x =...
1154 qarashlar
schedule 15.03.2024

‹tasodifiy› sarlavha a'zolari yordamida C++ da tasodifiy sonlarni qanday yaratish mumkin?
Men C# tilida dasturlashni o'rgandim va C++ tilini o'rganishni boshladim. Men Visual Studio 2010 IDE dan foydalanmoqdaman. Men <random> da mavjud tarqatish sinflari bilan tasodifiy raqamlarni yaratishga harakat qilaman. Masalan, men...
5384 qarashlar
schedule 10.10.2023

Lambda ifodasini shablon parametri sifatida qanday ishlatish kerak?
Lambda ifodasini shablon parametri sifatida qanday ishlatish mumkin? Masalan, std::setni ishga tushiruvchi taqqoslash sinfi sifatida. Quyidagi yechim ishlashi kerak, chunki lambda ifodasi shablon parametri sifatida mos keladigan anonim...
19128 qarashlar
schedule 18.11.2023

Qavs bilan o'ralgan boshlang'ich ro'yxati konstruktori
Menda quyidagi konstruktor bilan Fenotip sinfi bor: Phenotype(uint8 init[NUM_ITEMS]); Men shunday Fenotip yaratishim mumkin: uint8 data[] = {0,0,0,0,0}; Phenotype p(data); Ammo shunga o'xshash narsani yaratmoqchi bo'lganimda xatoga...
79635 qarashlar
schedule 10.07.2022

C++ da nojo'ya ta'sirlarsiz ifodalar
Qarang, men tushunmadim, nima uchun quyidagi kabi dasturlar qonuniy bo'lishi kerak? int main() { static const int i = 0; i < i > i; } Aytmoqchimanki, aslida hech kimda nojo'ya ta'sir ko'rsatmaydigan iboralar mavjud dasturlar...
1878 qarashlar
schedule 13.05.2024

C++ da xavfsiz(r) bit flaglarini yozingmi?
Ba'zi eski C++ kodlarini qayta ko'rib chiqish chog'ida enumlar sifatida belgilangan bir nechta bitflaglar bilan tanishdim. enum FooFlags { FooFlag1 = 1 << 0, FooFlag2 = 1 << 1, FooFlag3 = 1 << 2 // etc... };...
5574 qarashlar
schedule 05.12.2023

"#pragma once" uni C++ 0x ga aylantirdimi?
Sarlavha hammasini aytadi. #pragma once C++ 0x uchun standartlashtirilganmi? Men deyarli har doim bir xil semantika va nom bilan uni amalga oshirishni ta'minlamaydigan hech qanday kompilyatorni bilmayman.
2947 qarashlar
schedule 28.08.2022

Swapni tezroq, ishlatish uchun qulay va istisnosiz qilish
Kecha uxlay olmadim va std::swap haqida o'ylay boshladim. Mana tanish C++ 98 versiyasi: template <typename T> void swap(T& a, T& b) { T c(a); a = b; b = c; } Agar foydalanuvchi tomonidan belgilangan sinf Foo...
2421 qarashlar
schedule 17.04.2024

C++ 0x yopilishi bilan aniqlanmagan xatti-harakatlar: II
Men C++ 0x yopilishidan foydalanishni hayratlanarli deb bilaman. Mening dastlabki hisobotim va keyingi dan ko'ra ko'proq chalkashliklarni keltirib chiqardi. tushuntirishlar. Quyida men sizga muammoli misollarni ko'rsataman va kodda nima uchun...
271 qarashlar
schedule 31.03.2024

Nima uchun std :: pow (double, int) C++ 11 dan olib tashlandi?
p^q (eksponentsiya) ni hisoblashning samarali usuli, bu erda q butun son va C++98 va C ni ko'rib chiqishda ++11 standartlari Men C++ 11 da std::pow(double, int) ortiqcha yuk olib tashlanganini payqadim. C++98 26.5/6 da u double pow(double,...
12561 qarashlar
schedule 25.07.2022

C++ da har bir va lambdalar uchun aralashtirish
Men C++ 0x da lambdalar va har biri uchun (Range-based for-loop, STL for_each emas) bilan bir oz o'ynashni xohladim. Shunday qilib, men wiki-ga bordim va lambdalar yordamida wiki-dan misollarni qayta yozishga harakat qildim:...
203 qarashlar
schedule 02.02.2024

Variadic shablon shablon
Men umumiy arifmetik operatorlar to'plamini ortiqcha yuklaydigan std::array atrofida o'ralgan asosiy sinf yaratishga harakat qilaman. Yakuniy natija std::valarray kabi bo'ladi, lekin statik o'lchamga ega. Men buni qilyapman, chunki men kutubxonam...
687 qarashlar
schedule 14.10.2023

Variadic shablon parametrlar to'plamini ajratib oling va uni tip belgilari meta-funktsiyasida boshqa variadik shablonda ishlating?
Men har qanday variadik sinf shablonini boshqa sinfning asosi ekanligini aniqlamoqchiman. Odatda men std::is_base_of dan foydalanardim, lekin mening foydalanish holatim mos emas deb o'ylayman va buni hal qilish uchun std yoki boost-da allaqachon...
1415 qarashlar

Interfeys uchun virtual destruktor kerakmi, agar siz uni doimo shared_ptr da saqlasangiz?
boost::/std::shared_ptr ning o'chiruvchi turini o'chirish afzalligi borligi sababli, siz kabi yaxshi narsalarni qilishingiz mumkin #include <memory> typedef std::shared_ptr<void> gc_ptr; int main(){ gc_ptr p1 = new int(42);...
1200 qarashlar

Harakatlanuvchi turlar uchun tur xususiyati?
Agar Tda ko'chirish konstruktori bo'lsa, xuddi shunday harakat qiladigan shablonni yozishga harakat qilaman va agar T bo'lmasa, boshqa yo'l bilan. Men buni aniqlay oladigan tip xususiyatini izlashga harakat qildim, lekin bunday omadga ega bo'lmadim...
5881 qarashlar
schedule 02.10.2022

C++ 11 oldindan belgilangan makros
Kod standartni aniqlay olishi uchun C++ uchun oldindan belgilangan makroslar bormi? masalan. Hozirda ko'pchilik kompilyatorlar "massiv" ni "tr1" jildiga qo'yadi, ammo C++ 11 uchun u STLning bir qismi bo'ladi. Shunday qilib, hozirda #include...
15225 qarashlar
schedule 17.10.2023

Parametrlar to'plamining har bir elementini qanday o'zgartirish va ulardan kortej yaratish mumkin?
Men variadic funksiya shablonida muammoga duch kelyapman. Men parametrlar to'plamining har bir elementini tekshirishim, elementni paketlashim, so'ngra barcha paketlangan elementlarni kortejga to'ldirishim va uni qaytarishim kerak. Mana men nima...
948 qarashlar

Bilvosita o'chirilgan virtual destruktorlar haqidagi bu xato xabari nima?
Men hozirgina GCCni Windows, MinGW ostida (menimcha) 4.5.6 dan 4.6.1 ga yangiladim. To'satdan mening NonInstantiable tayanch klassim (siz o'rnatishning oldini olish uchun ommaviy virtual bilan meros qilib olasiz) quyidagi va shunga o'xshash xato...
14870 qarashlar
schedule 28.12.2023

Tartibsiz konteynerlarda foydalanuvchi tomonidan belgilangan turdagi std::hash‹Key›::operator() ni qanday ixtisoslashtirish mumkin?
std::unordered_set<Key> va std::unordered_map<Key, Value> da foydalanuvchi tomonidan belgilangan kalit turlarini qo'llab-quvvatlash uchun operator==(Key, Key) va xesh-funktorni ta'minlash kerak: struct X { int id; /* ... */ };...
53610 qarashlar
schedule 02.12.2023