Articles of I

Facendo un static_assert che un tipo di modello è un altro modello

Come faccio static_assert questo modo? Forse Boost lo supporta se non C ++ o nuove funzionalità in C ++ 11? template struct foo {}; template struct bar { static_assert(FooType is indeed foo for some T,”failure”); //how? };

Come evitare perdite di memoria con shared_ptr?

Considera il seguente codice. using boost::shared_ptr; struct B; struct A{ ~A() { std::cout << "~A" << std::endl; } shared_ptr b; }; struct B { ~B() { std::cout << "~B" << std::endl; } shared_ptr a; }; int main() { shared_ptr a (new A); shared_ptr b (new B); a->b = b; b->a = a; return 0; } […]

Come posso redirect il percorso home dell’utente (root) in base al loro ruolo utilizzando Devise?

Sto lavorando a un’app di gestione del progetto e nell’app ho project_managers e client . Sto usando Devise e CanCan per l’autenticazione / authorization. A che punto dopo l’accesso dovrei redirect l’utente al proprio controller / layout / viste specifico? C’è un modo per verificare current_user.role in routes.rb e impostare il root (o il reindirizzamento) […]

Accedi a una variabile al di fuori dell’ambito di un ciclo Handlebars.js

Ho un modello handlebars.js, proprio come questo: {{externalValue}} {{#each myCollection}} {{title}} {{externalValue}} {{/each}} E questo è l’output generato: myExternalValue First element Second element Third element Come previsto, posso accedere ai campi id e title di ogni elemento di myCollection per generare la mia selezione. E al di fuori della selezione, la mia variabile externalValue viene […]

Interrompere l’errore trap 6 in C

Ho questo codice: void drawInitialNim(int num1, int num2, int num3) { int board[2][50]; //make an array with 3 columns int i; // i, j, k are loop counters int j; int k; for(i=0;i<num1+1;i++) //fill the array with rocks, or 'O' board[0][i] = 'O'; //for example, if num1 is 5, fill the first row with 5 […]

C # Delegate l’istanza contro il passaggio del metodo di riferimento

Ho una semplice domanda: qual è il vantaggio di istanziare un delegato C # rispetto al solo passaggio del riferimento alla funzione? Ciò che voglio dire è: Perchè fare: Thread t = new Thread(new ThreadStart(SomeObject.SomeMethod)); Quando puoi fare: Thread t = new Thread(SomeObject.SomeMethod); Entrambi compileranno e lavoreranno nella mia esperienza … mi sto perdendo qualcosa?

Reflection MethodInfo.Invoke () cattura le eccezioni dall’interno del metodo

Ho una chiamata a MethodInfo.Invoke() per eseguire una funzione attraverso la riflessione. La chiamata è racchiusa in un blocco try/catch ma non cattura l’eccezione generata dalla funzione che sto invocando. Ricevo il seguente messaggio: L’eccezione non è stata gestita dall’utente. Perché MethodInfo.Invoke() impedisce che l’eccezione venga catturata al di fuori di Invoke() ? Come lo […]

Determinare in modo affidabile il numero di elementi in una matrice

Ogni programmatore C può determinare il numero di elementi in un array con questa macro nota: #define NUM_ELEMS(a) (sizeof(a)/sizeof 0[a]) Ecco un tipico caso d’uso: int numbers[] = {2, 3, 5, 7, 11, 13, 17, 19}; printf(“%lu\n”, NUM_ELEMS(numbers)); // 8, as expected Tuttavia, nulla impedisce al programmatore di passare accidentalmente un puntatore anziché un array: […]

Scambia i nodes in una lista collegata singolarmente

Sto cercando di scambiare due nodes. Ad esempio se i nodes sono a e b sto passando i puntatori (a-1)->next e (b-1)->next che sono sostanzialmente nodes a e b . void swap(struct stack **a,struct stack **b) { struct stack *temp1 = *a, *temp2 = *b, *temp3 = *b; *a = *b; (*b)->next = (temp1)->next; temp2 […]

Devo usare #include accanto a ?

Ho iniziato ad imparare C ++ e ho letto un libro che scrive che devo usare il file di intestazione perché il tipo di stringa non è compilato direttamente nel compilatore. Se uso posso usare il tipo di stringa. Devo includere l’intestazione quando voglio usare il tipo di stringa se ho incluso l’intestazione ? Perché? […]