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.

3
Downcasting shared_ptr <Base> in shared_ptr <Derived>?
Aggiornamento: shared_ptr in questo esempio è come quello in Boost, ma non supporta shared_polymorphic_downcast (o dynamic_pointer_cast o static_pointer_cast per quella materia)! Sto cercando di inizializzare un puntatore condiviso a una classe derivata senza perdere il conteggio dei riferimenti: struct Base { }; struct Derived : public Base { }; shared_ptr&lt;Base&gt; …
102 c++  gcc  boost 

6
stringa c_str () vs. data ()
Ho letto in diversi punti che la differenza tra c_str()e data()(in STL e altre implementazioni) è che c_str()è sempre terminato con null mentre data()non lo è. Per quanto ho visto nelle implementazioni effettive, fanno lo stesso o data()chiamano c_str(). Cosa mi manca qui? Quale è più corretto da usare in …
102 c++  stl  c-str 

1
Conversione da immagine ad arte ASCII
Prologo Questo argomento viene visualizzato di tanto in tanto qui su Stack Overflow, ma di solito viene rimosso perché è una domanda scritta male. Ho visto molte di queste domande e poi il silenzio dall'OP (solita bassa ripetizione) quando sono richieste informazioni aggiuntive. Di tanto in tanto se l'input è …

2
Quali sono i meccanismi dell'ottimizzazione delle stringhe brevi in ​​libc ++?
Questa risposta offre una bella panoramica di alto livello sull'ottimizzazione delle stringhe brevi (SSO). Tuttavia, vorrei sapere più in dettaglio come funziona in pratica, in particolare nell'implementazione di libc ++: Quanto deve essere breve la stringa per qualificarsi per SSO? Dipende dall'architettura di destinazione? In che modo l'implementazione distingue tra …

4
Utilizzo della libreria C ++ nel codice C.
Ho una libreria C ++ che fornisce varie classi per la gestione dei dati. Ho il codice sorgente per la libreria. Voglio estendere l'API C ++ per supportare le chiamate di funzione C in modo che la libreria possa essere utilizzata con codice C e codice C ++ allo stesso …
102 c++  c  gcc  glibc 


16
Funzione timer per fornire il tempo in nano secondi utilizzando C ++
Desidero calcolare il tempo impiegato da un'API per restituire un valore. Il tempo impiegato per una tale azione è nello spazio di nano secondi. Poiché l'API è una classe / funzione C ++, sto usando timer.h per calcolare lo stesso: #include &lt;ctime&gt; #include &lt;cstdio&gt; using namespace std; int main(int argc, …
101 c++  c  timer 





2
Errore del compilatore: memset non è stato dichiarato in questo ambito
Sto cercando di compilare il mio programma C in Ubuntu 9.10 (gcc 4.4.1). Ricevo questo errore: Rect.cpp:344: error: ‘memset’ was not declared in this scope Ma il problema è che ho già incluso nel mio file cpp: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; E lo stesso programma si compila bene con Ubuntu …
101 c++  gcc 

6
Utilizzo di {} in un'istruzione case. Perché?
Qual è il punto con l'utilizzo di {e }in una casedichiarazione? Normalmente, non importa quante righe ci siano in caseun'istruzione, tutte le righe vengono eseguite. È solo una regola per quanto riguarda i compilatori più vecchi / più recenti o c'è qualcosa dietro? int a = 0; switch (a) { …

13
Posso implementare un tipo di membro autonomo "self" in C ++?
In C ++ manca l'equivalente della parola chiave PHPself , che valuta il tipo della classe che lo racchiude. È abbastanza facile falsificarlo per classe: struct Foo { typedef Foo self; }; ma ho dovuto scrivere di Foonuovo. Forse un giorno sbaglierò questo e causerò un bug silenzioso. Posso usare …
101 c++  c++11 

3
Come specializzare std :: hash <Key> :: operator () per il tipo definito dall'utente in contenitori non ordinati?
Per supportare i tipi di chiave definiti dall'utente in std::unordered_set&lt;Key&gt;e std::unordered_map&lt;Key, Value&gt; si deve fornire operator==(Key, Key)un hash funtore: struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X&amp; x) const { return std::hash&lt;int&gt;()(x.id); …

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.