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.

13
Sbrogliare il risultato di std :: type_info :: name
Attualmente sto lavorando su un codice di registrazione che dovrebbe, tra le altre cose, stampare informazioni sulla funzione chiamante. Questo dovrebbe essere relativamente facile, il C ++ standard ha una type_infoclasse. Contiene il nome della classe / funzione / ecc. ma è lacerato. Non è molto utile. Cioè typeid(std::vector<int>).name()ritorna St6vectorIiSaIiEE. …
93 c++  gcc  name-mangling 





2
Qual è il risultato di + = in C e C ++?
Ho il seguente codice: #include <stdio.h> int main(int argc, char **argv) { int i = 0; (i+=10)+=10; printf("i = %d\n", i); return 0; } Se provo a compilarlo come sorgente C usando gcc ottengo un errore: error: lvalue required as left operand of assignment Ma se lo compilo come sorgente …
93 c++  c 

6
Cosa fa l'extern inline?
Capisco che di inlineper sé è un suggerimento per il compilatore e, a sua discrezione, può o meno inline la funzione e produrrà anche codice oggetto collegabile. Penso che static inlinefaccia lo stesso (può o non può inline) ma non produrrà codice oggetto collegabile quando inline (poiché nessun altro modulo …

2
Cosa significa [=] in C ++?
Voglio sapere cosa [=]fa? Ecco un breve esempio template <typename T> std::function<T (T)> makeConverter(T factor, T offset) { return [=] (T input) -> T { return (offset + input) * factor; }; } auto milesToKm = makeConverter(1.60936, 0.0); Come funzionerebbe il codice []invece di [=]? presumo che std::function<T (T)> significa …
93 c++  c++11  lambda 

9
Come si disabilitano gli avvisi di variabili inutilizzati provenienti da gcc nel codice di terze parti che non desidero modificare?
Vorrei sapere quale interruttore si passa al compilatore gcc per disattivare gli avvisi delle variabili inutilizzate? Ricevo errori da boost su Windows e non voglio toccare il codice boost: C:\boost_1_52_0/boost/system/error_code.hpp: At global scope: C:\boost_1_52_0/boost/system/error_code.hpp:214:36: error: 'boost::system::posix_category' defined but not used [-Werror=unused-variable] C:\boost_1_52_0/boost/system/error_code.hpp:215:36: error: 'boost::system::errno_ecat' defined but not used [-Werror=unused-variable] C:\boost_1_52_0/boost/system/error_code.hpp:216:36: …

14
Conversione di bool in testo in C ++
Forse questa è una domanda stupida, ma esiste un modo per convertire un valore booleano in una stringa tale che 1 diventa "vero" e 0 diventa "falso"? Potrei semplicemente usare un'istruzione if, ma sarebbe bello sapere se c'è un modo per farlo con il linguaggio o le librerie standard. Inoltre, …
93 c++  string  boolean 


4
Parametri di modello non di tipo
Capisco che il parametro del modello non di tipo dovrebbe essere un'espressione integrale costante. Qualcuno può far luce perché è così? template <std::string temp> void foo() { // ... } error C2993: 'std::string' : illegal type for non-type template parameter 'temp'. Capisco cos'è un'espressione integrale costante. Quali sono le ragioni …
93 c++  templates 



10
Perché il C ++ non consente l'amicizia ereditata?
Perché l'amicizia non è almeno facoltativamente ereditabile in C ++? Capisco che la transitività e la riflessività siano proibite per ovvie ragioni (lo dico solo per evitare semplici risposte alle domande frequenti), ma la mancanza di qualcosa sulla falsariga di virtual friend class Foo;me mi lascia perplesso. Qualcuno conosce il …

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.