Sono rimasto sorpreso dal fatto che questo non si fosse presentato nei miei risultati di ricerca, ho pensato che qualcuno l’avrebbe mai chiesto prima, data l’utilità della semantica del movimento in C ++ 11: Quando devo (o è una buona idea per me) rendere una class non mobile in C ++ 11? (Motivi diversi dai […]
È ansible impedire l’allocazione dello stack di un object e permetterlo solo di essere instradato con “nuovo” nell’heap?
Mi piacerebbe assicurarmi che la mia class RAII sia sempre allocata nello stack. Come impedire che una class venga allocata tramite l’operatore ‘nuovo’?
Questo non si compila in C ++: class A { }; class B : public A { }; … A *a = new B(); B *b = dynamic_cast(a);
Ci sono 4 operatori in C ++ che possono essere sovraccaricati ma non possono essere sovraccaricati come funzioni indipendenti (anche non membri, standalone). Questi operatori sono: operator = operator () operator -> operator [] Questo thread spiega perfettamente la logica alla base del divieto operator = di essere una funzione non membro. Qualche idea sugli […]
In C ++, qual è la differenza tra: void func(MyType&); // declaration //… MyType * ptr; func(*ptr); // compiler doesnt give error func(ptr); // compiler gives error i thought & represents memory address so // this statement should correct as ptr is only a pointer // or address of some real var.
In C ++, non posso pensare a un caso in cui vorrei ereditare privato / protetto da una class base: class Base; class Derived1 : private Base; class Derived2 : protected Base; È davvero utile?
Cos’è SFINAE in C ++? Puoi spiegarlo in parole comprensibili a un programmatore che non è esperto in C ++? Inoltre, quale concetto in una lingua come Python corrisponde a SFINAE?
Se dichiaro un object racchiuso in un puntatore condiviso: std::shared_ptr myClassObject(new myClass()); quindi volevo passarlo come argomento a un metodo: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr arg1) { arg1->someField = 4; } Quanto sopra semplicemente incrementa il conteggio dei riferimenti di shared_pt e tutto è bello? O lascia un puntatore ciondolante? Dovresti ancora farlo ?: […]
Cosa dovrei includere nei programmi C ++, stdio.h o cstdio ? e perché? Perché due file di intestazione che forniscono la stessa funzionalità? Cosa dice lo standard in merito? Come dovrei andare a includere altre intestazioni di questo tipo? C’è una regola base che dovrei seguire?