Domande taggate «c++»

C ++ è un linguaggio di programmazione generico. È stato originariamente progettato come estensione di C e ha una sintassi simile, ma ora è un linguaggio completamente diverso. Utilizzare questo tag per domande sul codice (da compilare) compilato con un compilatore C ++. Utilizzare un tag specifico della versione per domande relative a una revisione standard specifica [C ++ 11], [C ++ 14], [C ++ 17] o [C ++ 20], ecc.

8
Qual è il modo migliore per concatenare due vettori?
Sto usando il multitreading e voglio unire i risultati. Per esempio: std::vector<int> A; std::vector<int> B; std::vector<int> AB; Voglio che AB abbia i contenuti di A e i contenuti di B in quell'ordine. Qual è il modo più efficiente di fare qualcosa del genere?
190 c++  vector 

13
Non erediterai da std :: vector
Ok, questo è davvero difficile da confessare, ma al momento ho una forte tentazione da cui ereditare std::vector. Ho bisogno di circa 10 algoritmi personalizzati per il vettore e voglio che siano direttamente membri del vettore. Ma naturalmente voglio anche avere il resto std::vectordell'interfaccia. Bene, la mia prima idea, come …
189 c++  oop  inheritance  stl  vector 

5
Qual è il punto di Noreturn?
[dcl.attr.noreturn] fornisce il seguente esempio: [[ noreturn ]] void f() { throw "error"; // OK } ma non capisco qual è il punto [[noreturn]], perché il tipo di ritorno della funzione è già void. Quindi, qual è il punto noreturndell'attributo? Come dovrebbe essere usato?


4
Perché usare le classi nidificate in C ++?
Qualcuno può indicarmi alcune risorse utili per comprendere e usare le classi nidificate? Ho del materiale come Principi di programmazione e cose come questo IBM Knowledge Center - Nested Classes Ma ho ancora problemi a capire il loro scopo. Qualcuno può aiutarmi?

9
Come faccio a rendere l'output di CMake in una directory 'bin'?
Attualmente sto costruendo un progetto con una struttura di plugin. Sto usando CMake per compilare il progetto. I plugin sono compilati in directory separate. Il mio problema è che CMake compila e salva i binari e i plugin, librerie dinamiche, nella struttura di directory del sorgente. Come posso fare in …
188 c++  plugins  cmake 

10
Qual è l'effetto di ordinare se ... altrimenti se le dichiarazioni per probabilità?
In particolare, se ho una serie di dichiarazioni if... else ife in qualche modo conosco in anticipo la probabilità relativa alla quale ciascuna valutazione valuteràtrue , quanta differenza fa nel tempo di esecuzione fa ordinarle in ordine di probabilità? Ad esempio, dovrei preferire questo: if (highly_likely) //do something else if …

5
Argomenti modello predefiniti per modelli funzione
Perché gli argomenti del modello predefinito sono consentiti solo sui modelli di classe? Perché non possiamo definire un tipo predefinito in un modello di funzione membro? Per esempio: struct mycclass { template<class T=int> void mymember(T* vec) { // ... } }; Al contrario, C ++ impone che gli argomenti modello …
187 c++  templates 



21
Come usare enum come flag in C ++?
Considerare enums come flag funziona bene in C # tramite l' [Flags]attributo, ma qual è il modo migliore per farlo in C ++? Ad esempio, vorrei scrivere: enum AnimalFlags { HasClaws = 1, CanFly =2, EatsFish = 4, Endangered = 8 }; seahawk.flags = CanFly | EatsFish | Endangered; Tuttavia, …
187 c++  enums 

14
Parentesi graffe non necessarie in C ++?
Oggi, quando ho fatto una revisione del codice per un collega, ho visto qualcosa di strano. Aveva circondato il suo nuovo codice con parentesi graffe come questa: Constructor::Constructor() { existing code { New code: do some new fancy stuff here } existing code } Qual è il risultato, se presente, …

16
Come posso chiamare :: std :: make_shared su una classe con solo costruttori protetti o privati?
Ho questo codice che non funziona, ma penso che l'intento sia chiaro: testmakeshared.cpp #include <memory> class A { public: static ::std::shared_ptr<A> create() { return ::std::make_shared<A>(); } protected: A() {} A(const A &) = delete; const A &operator =(const A &) = delete; }; ::std::shared_ptr<A> foo() { return A::create(); } Ma …
187 c++  c++11  shared-ptr 

3
fork () si ramifica più del previsto?
Considera il seguente codice: #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { int i; for(i = 0; i < 2; i++) { fork(); printf("."); } return 0; } Questo programma genera 8 punti. Come può essere possibile? Non dovrebbero invece esserci 6 punti?
186 c++  c  fork 

4
Cosa ha reso i = i ++ + 1; legale in C ++ 17?
Prima di iniziare a urlare comportamenti indefiniti, questo è elencato esplicitamente in N4659 (C ++ 17) i = i++ + 1; // the value of i is incremented Eppure in N3337 (C ++ 11) i = i++ + 1; // the behavior is undefined Che cosa è cambiato? Da quello …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.