Articles of funzioni

C ++ può i compilatori in linea un puntatore a funzione?

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( ) { […]

Funzioni di ordine superiore in Javascript

Sto leggendo Eloquent JavaScript ( La nuova edizione ) e ho raggiunto la parte relativa alle funzioni di ordine superiore e sono confuso su ciò che sta accadendo nel seguente codice. function noisy(f) { return function(arg) { console.log(“calling with”, arg); var val = f(arg); console.log(“called with”, arg, “- got”, val); return val; }; } noisy(Boolean)(0); […]

Funzione SQL aggregata per acquisire solo il primo da ciascun gruppo

Ho 2 tabelle: una tabella account e una tabella utenti. Ogni account può avere più utenti. Ho uno scenario in cui voglio eseguire una singola query / join contro queste due tabelle, ma voglio tutti i dati dell’account (Account. *) E solo il primo set di dati utente (in particolare il loro nome). Invece di […]

Chiamare un metodo con un ricevitore puntatore da un object invece di un puntatore ad esso?

v è un object di Vertex e Scale è un metodo per un puntatore a Vertex . Allora perché v.Scale(10) non è sbagliato, dato che v non è un puntatore a un object Vertex ? Grazie. package main import ( “fmt” “math” ) type Vertex struct { X, Y float64 } func (v Vertex) Abs() […]

Parallel unnest () e ordinamento in PostgreSQL

Capisco che usando SELECT unnest(ARRAY[5,3,9]) as id senza una clausola ORDER BY , l’ordine del set di risultati non è garantito. Potrei ad esempio ottenere: id — 3 5 9 Ma per quanto riguarda la seguente richiesta: SELECT unnest(ARRAY[5,3,9]) as id, unnest(ARRAY(select generate_series(1, array_length(ARRAY[5,3,9], 1)))) as idx ORDER BY idx ASC È garantito che le […]

Qual è il motivo per cui i nomi delle funzioni sono preceduti da un trattino basso dal compilatore?

Quando vedo il codice assembly di un’app C, come questo: emacs hello.c clang -S -O hello.c -o hello.s cat hello.s I nomi delle funzioni sono preceduti da un trattino basso (ad es. callq _printf ). Perché è fatto e quali vantaggi ha? Esempio: Ciao C #include #include #include int main() { char *myString = malloc(strlen(“Hello, […]

Come cin a un vettore

Sto provando a chiedere all’utente di inserire numeri che sono messi in un vettore, quindi utilizzando una chiamata di funzione per coutire i numeri, perché non funziona? Sono in grado di comporre solo il primo numero. template void write_vector(const vector& V) { cout << "The numbers in the vector are: " << endl; for(int i=0; […]

Ricevitore valore contro ricevitore puntatore in Golang?

Non è chiaro per me, nel qual caso, vorrei usare un ricevitore di valore invece di usare sempre un ricevitore puntatore. Per ricapitolare i documenti: type T struct { a int } func (tv T) Mv(a int) int { return 0 } // value receiver func (tp *T) Mp(f float32) float32 { return 1 } […]

C ++ eredita da più classi base con lo stesso nome di funzione virtuale

Ho provato questo codice: class A { virtual void foo() = 0; }; class B { virtual void foo() = 0; }; class C : public A, public B { //virtual void A::foo(){} //virtual void B::foo(){} virtual void A::foo(); virtual void B::foo(); }; void C::A::foo(){} void C::B::foo(){} int main() { C c; return 0; } […]

A cosa servono i puntatori di funzione e come li utilizzerei?

Capisco che posso usare i puntatori per le funzioni. Qualcuno può spiegare perché li si userebbe e come? Un breve codice di esempio sarebbe molto utile per me.