Articles of c

Perché una class derivata non può chiamare la funzione membro protetta in questo codice?

#include class Base { protected: void somethingProtected() { std::cout << "lala" << std::endl; } }; class Derived : public Base { public: void somethingDerived() { Base b; b.somethingProtected(); // This does not compile somethingProtected(); // But this is fine } }; int main() { Derived d; d.somethingDerived(); return 0; } Ho pensato che forse solo […]

Confuso sull’espansione della macro C e sull’aritmetica dei numeri interi

Possibile duplicato: Un indovinello (in C) Ho un paio di domande riguardo il seguente frammento: #include #define TOTAL_ELEMENTS (sizeof(array) / sizeof(array[0])) int array[] = {23,34,12,17,204,99,16}; int main() { int d; for(d=-1;d <= (TOTAL_ELEMENTS-2);d++) printf("%d\n",array[d+1]); return 0; } Qui l’output del codice non stampa gli elementi dell’array come previsto. Ma quando aggiungo un typecast di (int) […]

ConfigurationManager.OpenExeConfiguration – carica il file sbagliato?

Ho aggiunto più file app.config (ciascuno con un nome diverso) a un progetto e li ho impostati per copiare nella directory di output su ogni build. Cerco di accedere al contenuto di ogni file usando questo: System.Configuration.Configuration o = ConfigurationManager.OpenExeConfiguration(@”app1.config”); Il codice viene eseguito, ma o.HasFile finisce con False e o.FilePath finisce “app1.config.config”. Se cambio […]

In C # in quale categoria “colon”: “rientrano, e cosa significa realmente?

Ho cercato di ottenere un riferimento nel sito Web Microsoft Developer su quale sia la funzione del: è davvero ma non riesco a trovarlo perché sembra che non sia né una parola chiave né un operatore, quindi qual è la funzione dei due punti in C #? Inoltre ho visto che viene applicato a un […]

A cosa serve la sezione COMDAT?

Vedo l’opzione / Gy e mi sto chiedendo perché lo userei? http://msdn.microsoft.com/en-us/library/xsa71f43.aspx

Il pacchetto di parametri deve essere alla fine dell’elenco dei parametri … Quando e perché?

Non capisco il motivo per cui un pacchetto di parametri deve essere alla fine dell’elenco dei parametri se quest’ultimo è associato a una class, mentre il vincolo è rilassato se l’elenco dei parametri è parte di una dichiarazione del metodo membro. In altri termini, questo compila: class C { template void fn() { } }; […]

Verifica se una stringa è una data valida utilizzando DateTime.TryParse

Sto usando la funzione DateTime.TryParse() per controllare se una determinata stringa è un datetime valido non dipendente da alcuna cultura. Con mia sorpresa, la funzione restituisce true per stringhe pari a “1-1”, “1/1” .etc. Come posso risolvere questo problema? Aggiornare: Significa, se voglio controllare se una determinata stringa è valida datetime, ho bisogno di una […]

Come può std :: bitset essere più veloce di std :: vector ?

Secondo questa risposta, il poster si aspetta che uno std::bitset di dimensione 100k bit sia più veloce di un file std::vector quando si interrogano singoli bit. Come può essere ansible? Come potrebbero anche differire in modo significativo nella loro implementazione, se std::bitset apparenza consente dimensioni arbitrarie proprio come std::vector ?

/ usr / bin / ld: imansible trovare -lc durante la compilazione con makefile

Contesto prima: ho un’intestazione (event.h), un programma chiamato event.c e il programma principale main.c. Questo programma verrà compilato, generando prima un programma object (event.o), quindi una libreria statica (libevent.a) in una cartella separata e quindi il programma eseguibile work1.exe Per fare questo ho creato questo makefile: work1 : main.c libevent.a gcc -static main.c -L./lib -levent […]

Restituzione di struct contenente array

Il seguente codice semplice segfaults sotto gcc 4.4.4 #include typedef struct Foo Foo; struct Foo { char f[25]; }; Foo foo(){ Foo f = {“Hello, World!”}; return f; } int main(){ printf(“%s\n”, foo().f); } Cambiare la linea finale a Foo f = foo(); printf(“%s\n”, ff); Funziona bene. Entrambe le versioni funzionano quando compilate con -std=c99 […]