Supponiamo che abbia una funzione functionProxy che accetta una function parametro generico e chiama il suo operator() : template void functionProxy( Function function ) { function(); } L’object passato ad esso può essere: un funtore: struct Functor { void operator()() const { std::cout << "functor!" << std::endl; } }; una funzione: void function( ) { […]
Ho cercato Stack Overflow per i pro / contro di macro simili a funzioni v. Funzioni inline. Ho trovato la seguente discussione: Pro e contro di diverse macro funzioni / metodi in linea in C … ma non ha risposto alla mia domanda di masterizzazione primaria. Vale a dire, qual è il sovraccarico in c […]
Non ho avuto successo nel capire come avvolgere ogni chiamata di metodo in Eclipse . Ad esempio, ho questo: someObject.A().B().C(); Ma voglio davvero questo: someObject.A() .B() .C(); Nulla sotto la sezione “Line Wrapping” in Eclipse sembra darmi questo risultato.
Voglio implementare una barra di avanzamento che mostra i secondi trascorsi in bash. Per questo, ho bisogno di cancellare l’ultima riga mostrata sullo schermo (il comando “cancella” cancella tutto lo schermo, ma ho bisogno di cancellare solo la riga della barra di avanzamento e sostituirla con le nuove informazioni). Il risultato finale dovrebbe essere simile […]
Cosa succede se definisco la mia funzione nel mio file .h come extern int returnaint(void); , definirlo nel relativo file .c come inline int returnaint(void) { return 1; } e includi l’intestazione in un altro file .c e usi la funzione? Quando compilo le cose separatamente, creando un file object per ogni file .c e […]
Come posso sapere se un punto appartiene a una determinata linea? Gli esempi sono apprezzati, se ansible.
Se viene data una linea (rappresentata da un vettore o due punti sulla linea) come trovo il punto in cui la linea interseca un piano? Ho trovato molte risorse su questo, ma non riesco a capire le equazioni lì (non sembrano essere algebriche standard). Vorrei un’equazione (non importa per quanto tempo) che può essere interpretata […]
In C ++, i metodi vengono solo inline se dichiarati esplicitamente in inline (o definiti in un file di intestazione) oppure i compilatori sono autorizzati a utilizzare i metodi in linea come meglio credono?
Ad esempio, ora sto usando il seguente per cambiare un paio di file i cui percorsi Unix ho scritto su un file: cat file.txt | while read in; do chmod 755 “$in”; done Esiste un modo più elegante e più sicuro?
Ho avuto una discussione con Johannes Schaub riguardo alla parola chiave in inline . Il codice c’era questo: namespace … { static void someFunction() { MYCLASS::GetInstance()->someFunction(); } }; Ha affermato che: Mettendo questo come una funzione in linea si può salvare la dimensione del codice nell’eseguibile Ma secondo i miei risultati qui e qui non […]