Articles of puntatori di

C ++ passa un array per riferimento

è permesso passare una matrice per riferimento? void foo(double& *bar) Sembra che il mio compilatore dica no. Perché? Qual è il modo corretto per passare un array per riferimento? O un lavoro in giro? Ho un argomento dell’array che il mio metodo dovrebbe modificare e che dovrei recuperare in seguito. In alternativa, potrei rendere questo […]

Indirizzo del puntatore in una matrice multidimensionale C

Sto scherzando con array e puntatori multidimensionali. Ho visto un programma che stampa i contenuti e gli indirizzi di un semplice array. Ecco la mia dichiarazione di array: int zippo[4][2] = { {2,4}, {6,8}, {1,3}, {5,7} }; La mia attuale comprensione è che zippo è un puntatore e può contenere l’indirizzo di un paio di […]

C # Memorizza le funzioni in un dizionario

Come posso creare un dizionario dove posso memorizzare le funzioni? Grazie. Ho circa 30+ funzioni che possono essere eseguite dall’utente. Voglio essere in grado di eseguire la funzione in questo modo: private void functionName(arg1, arg2, arg3) { // code } dictionaryName.add(“doSomething”, functionName); private void interceptCommand(string command) { foreach ( var cmd in dictionaryName ) { […]

Errore di segmentazione che si verifica quando si modifica una stringa utilizzando i puntatori?

Contesto Sto imparando C, e sto cercando di invertire una stringa sul posto usando i puntatori. (So ​​che puoi usare un array, questo è più che altro sull’apprendimento dei puntatori.) Problema Continuo ad avere errori di segmentazione quando provo a eseguire il codice qui sotto. GCC sembra non gradire *end = *begin; linea. Perché? Soprattutto […]

Come sapere se un puntatore punta all’heap o allo stack?

Esempio: bool isHeapPtr(void* ptr) { //… } int iStack = 35; int *ptrStack = &iStack; bool isHeapPointer1 = isHeapPtr(ptrStack); // Should be false bool isHeapPointer2 = isHeapPtr(new int(5)); // Should be true /* I know… it is a memory leak */ Perché, voglio sapere questo: Se in una class ho un puntatore membro e non […]

Qual è il costruttore predefinito per il puntatore C ++?

Ho un codice come questo: class MapIndex { private: typedef std::map Container; Container mapM; public: void add(std::list& values) { if (values.empty()) // sanity check return; std::string s(*(values.begin())); values.erase(values.begin()); if (values.empty()) return; MapIndex *mi = mapM[s]; // add(values); } } La mia principale preoccupazione è se l’espressione mapM [s] restituisca il riferimento al puntatore NULL se […]

Puntatore a funzione C che esegue il puntamento al puntatore del vuoto

Sto cercando di eseguire il seguente programma ma ottenendo alcuni strani errori: File 1.c: typedef unsigned long (*FN_GET_VAL)(void); FN_GET_VAL gfnPtr; void setCallback(const void *fnPointer) { gfnPtr = *((FN_GET_VAL*) (&fnPointer)); } File 2.c: extern FN_GET_VAL gfnPtr; unsigned long myfunc(void) { return 0; } main() { setCallback((void*)myfunc); gfnPtr(); /* Crashing as value was not properly assigned in […]

C: puntatore a struct nella definizione della struct

Come posso avere un puntatore alla struttura successiva nella definizione di questa struttura: typedef struct A { int a; int b; A* next; } A; questo è il modo in cui l’ho scritto per la prima volta, ma non funziona.

Come alias un nome di funzione in Fortran

Non sono sicuro se il titolo è ben messo. Suggerimenti benvenuto Ecco cosa voglio fare. Verifica una condizione, quindi decidi quale funzione utilizzare in un ciclo. Per esempio: if (a < 0) then loop_func = func1 else loop_func = func2 endif Posso quindi usare loop_func come puntatore quando scrivo il mio ciclo. Entrambe le funzioni […]

Qual è lo scopo dell’allocazione di una quantità specifica di memoria per gli array in C ++?

Sono uno studente che frequenta un corso su Data Structures in C ++ questo semestre e mi sono imbattuto in qualcosa che non capisco stasera. Dire che dovevo creare un puntatore a un array sull’heap: int* arrayPtr = new int [4]; Posso accedere a questo array usando la syntax del puntatore int value = *(arrayPtr […]