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.


5
Un membro della classe di riferimento const prolunga la vita di un temporaneo?
Perché questo: #include <string> #include <iostream> using namespace std; class Sandbox { public: Sandbox(const string& n) : member(n) {} const string& member; }; int main() { Sandbox sandbox(string("four")); cout << "The answer is: " << sandbox.member << endl; return 0; } Dai un output di: La risposta è: Invece di: …

13
In C ++, sto pagando per quello che non sto mangiando?
Consideriamo i seguenti esempi di ciao mondo in C e C ++: main.c #include <stdio.h> int main() { printf("Hello world\n"); return 0; } main.cpp #include <iostream> int main() { std::cout<<"Hello world"<<std::endl; return 0; } Quando li compilo in godbolt in assembly, la dimensione del codice C è solo 9 righe …
170 c++  c 





6
Utilizzo di oggetti generici std :: function con funzioni membro in una classe
Per una classe voglio memorizzare alcuni puntatori di funzione alle funzioni membro della stessa classe in un oggetto di mapmemorizzazione std::function. Ma non riesco proprio all'inizio con questo codice: class Foo { public: void doSomething() {} void bindFunction() { // ERROR std::function<void(void)> f = &Foo::doSomething; } }; Ricevo error C2064: …

8
Separare il codice di classe in un file header e cpp
Sono confuso su come separare il codice di implementazione e dichiarazioni di una classe semplice in un nuovo file di intestazione e cpp. Ad esempio, come separerei il codice per la seguente classe? class A2DD { private: int gx; int gy; public: A2DD(int x,int y) { gx = x; gy …
170 c++  oop  class 





2
funzione membro scambio pubblico amico
Nella bella risposta al linguaggio copia-e-scambia c'è un pezzo di codice che mi serve un po 'di aiuto: class dumb_array { public: // ... friend void swap(dumb_array& first, dumb_array& second) // nothrow { using std::swap; swap(first.mSize, second.mSize); swap(first.mArray, second.mArray); } // ... }; e aggiunge una nota Ci sono altre …

3
In che modo “= default” è diverso da “{}” per costruttore e distruttore predefiniti?
Inizialmente ho pubblicato questo come una domanda solo sui distruttori, ma ora sto aggiungendo considerazione sul costruttore predefinito. Ecco la domanda originale: Se voglio dare alla mia classe un distruttore virtuale, ma altrimenti uguale a quello che genererebbe il compilatore, posso usare =default: class Widget { public: virtual ~Widget() = …

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.